黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專(zhuān)注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 淺談Spring Boot配置JDBC

淺談Spring Boot配置JDBC

更新時(shí)間:2021-02-23 17:25:25 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2024次

JDBC是Java語(yǔ)言中用來(lái)規(guī)范客戶端程序如何來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。而Spring框架是Java平臺(tái)上的一種開(kāi)源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。想要將JDBC整合到Spring Boot框架中就需要我們配置JDBC。本文我們就來(lái)介紹一下Spring Boot配置JDBC,幫助我們使用Spring Boot從事開(kāi)發(fā)。

1、數(shù)據(jù)庫(kù)表

CREATE TABLE `user` ?(

??`id` int(11) NOT NULL AUTO_INCREMENT,

??`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

??`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,

??PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

2、實(shí)體類(lèi)

添加簡(jiǎn)單的User實(shí)體類(lèi),用于下面jdbc和mybatis的使用和測(cè)試。再添加一個(gè)toString方法為了測(cè)試時(shí)看結(jié)果比較簡(jiǎn)單。

public class User {



????private Integer id;



????private String username;



????private String address;



????public Integer getId() { return id; }



????public void setId(Integer id) { this.id = id; }



????public String getUsername() { return username; }



????public void setUsername(String username) { this.username = username; }



????public String getAddress() { return address; }



????public void setAddress(String address) { this.address = address; }



????@Override

????public String toString() {

????????return "User{" +

????????????????"id=" + id +

????????????????", username='" + username + '\'' +

????????????????", address='" + address + '\'' +

????????????????'}';

????}

}

3、Maven配置

mysql版本根據(jù)自己數(shù)據(jù)庫(kù)版本設(shè)置 druid為阿里云提供的數(shù)據(jù)源(可理解為連接池)

<dependency>

????<groupId>com.alibaba</groupId>

????<artifactId>druid-spring-boot-starter</artifactId>

????<version>1.1.10</version></dependency><dependency>

????<groupId>mysql</groupId>

????<artifactId>mysql-connector-java</artifactId>

????<scope>runtime</scope>

????<version>8.0.18</version></dependency>

4、數(shù)據(jù)庫(kù)配置

數(shù)據(jù)庫(kù)properties配置肯定是少不的啦.

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.username=username

spring.datasource.password=password

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydatabase

5、Maven依賴

添加Spring Boot提供的JDBC依賴

<dependency>

????<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jdbc</artifactId></dependency>

使用

@Servicepublic class UserService {



????@Autowired

????JdbcTemplate jdbcTemplate;



????public Integer addUser(User user) {

????????return jdbcTemplate.update("insert into user (username,address) values (?,?);",

????????????????user.getUsername(), user.getAddress());

????}



????/**

?????* 查詢方式一

?????* 當(dāng)類(lèi)屬性和數(shù)據(jù)庫(kù)字段不對(duì)應(yīng)時(shí)才這樣使用

?????* @return

?????*/

????public List<User> getAllUserFirst() {

????????return jdbcTemplate.query("select * from user;", new RowMapper<User>() {

????????????@Override

????????????public User mapRow(ResultSet resultSet, int i) throws SQLException {

????????????????User user = new User();

????????????????int id = resultSet.getInt("id");

????????????????String address = resultSet.getString("address");

????????????????String username = resultSet.getString("username");

????????????????user.setId(id);

????????????????user.setUsername(username);

????????????????user.setAddress(address);

????????????????return user;

????????????}

????????});

????}



????/**

?????* 查詢方式二

?????* 當(dāng)類(lèi)屬性和數(shù)據(jù)庫(kù)字段對(duì)應(yīng)時(shí)就這樣使用啦,比上面的簡(jiǎn)潔很多

?????*/

????public List<User> getAllUserSecond() {

????????return jdbcTemplate.query("select * from user;", new BeanPropertyRowMapper<>(User.class));

????}

}

這里需要記一下,JDBC不論新增,修改,刪除都是使用update方法。而查詢則是使用query。 如果數(shù)據(jù)庫(kù)字段和實(shí)體類(lèi)屬性不一致時(shí),則需要使用上面代碼中的查詢方式一 如果數(shù)據(jù)庫(kù)字段和實(shí)體類(lèi)屬性全都一致時(shí),則可以使用上面代碼中的查詢方式二,簡(jiǎn)單快捷。

6、測(cè)試

在我們整理完上述的各種配置之后當(dāng)然是少不了測(cè)試的,測(cè)試類(lèi)如下:

@SpringBootTestclass JdbcApplicationTests {



????@Autowired

????UserService userService;



????@Test

????public void addUser() {

????????User user = new User();

????????user.setUsername("johnson2");

????????user.setAddress("colablog.cn");

????????userService.addUser(user);

????}



????public void queryUsers() {

????????List<User> allUserFirst = userService.getAllUserFirst();

????????System.out.println(allUserFirst);

????}

}

如果測(cè)試成功的話也就表示我們的Spring Boot配置jdbc是正確的,基本上排除了大的毛病,也不會(huì)影響我們正常使用Spring Boot。當(dāng)然,根據(jù)不同的版本,各種配置也會(huì)有細(xì)微的差別,但是只要稍加注意都不會(huì)有大的影響。在本站的JDBC教程中,還有各種JDBC實(shí)踐應(yīng)用相關(guān)的知識(shí),想要熟練使用JDBC的小伙伴千萬(wàn)不要錯(cuò)過(guò)。

 

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产精品国产三级国产无毒 | 天天插天天干 | se色综合视频| 最近中文字幕2019国语7 | 日韩毛片免费看 | 视频在线观看h | 国产一区二区高清视频 | 中文字幕高清免费不卡视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 一区二区三区四区视频在线 | 日韩欧美伦理片 | 国产91视频观看 | 波多野结衣中文字 | 色妇网| 欧美日韩中文字幕久久伊人 | 99re在线这里只有精品 | 香蕉亚洲欧洲在线一区 | 5252色 | 男女爽爽无遮拦午夜视频 | 一区二区精品视频 | 成人免费www在线高清观看 | 一级国产视频 | 色视频国产| a级国产视频 | 制服 丝袜 亚洲 中文 综合 | 午夜视频免费看 | 日本欧美小视频 | 日韩视频在线观看视频 | 日噜噜| 亚洲影音先锋看看 | 99ri在线精品视频在线播放 | 天天拍夜夜添久久精品中文 | 国产精品页 | 人人天天夜夜 | 亚洲国产中文字幕在线观看 | 老司机成人在线视频 | 国产三级第一页 | 青草国产| 精品一区二区三区在线观看视频 | 97视频精品 | 黄色高清在线观看 |