大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 淺談Spring Boot配置JDBC

淺談Spring Boot配置JDBC

更新時間:2021-02-23 17:25:25 來源:動力節點 瀏覽2021次

JDBC是Java語言中用來規范客戶端程序如何來訪問數據庫的應用程序接口,提供了諸如查詢和更新數據庫中數據的方法。而Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。想要將JDBC整合到Spring Boot框架中就需要我們配置JDBC。本文我們就來介紹一下Spring Boot配置JDBC,幫助我們使用Spring Boot從事開發。

1、數據庫表

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、實體類

添加簡單的User實體類,用于下面jdbc和mybatis的使用和測試。再添加一個toString方法為了測試時看結果比較簡單。

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版本根據自己數據庫版本設置 druid為阿里云提供的數據源(可理解為連接池)

<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、數據庫配置

數據庫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());

????}



????/**

?????* 查詢方式一

?????* 當類屬性和數據庫字段不對應時才這樣使用

?????* @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;

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

????????});

????}



????/**

?????* 查詢方式二

?????* 當類屬性和數據庫字段對應時就這樣使用啦,比上面的簡潔很多

?????*/

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

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

????}

}

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

6、測試

在我們整理完上述的各種配置之后當然是少不了測試的,測試類如下:

@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);

????}

}

如果測試成功的話也就表示我們的Spring Boot配置jdbc是正確的,基本上排除了大的毛病,也不會影響我們正常使用Spring Boot。當然,根據不同的版本,各種配置也會有細微的差別,但是只要稍加注意都不會有大的影響。在本站的JDBC教程中,還有各種JDBC實踐應用相關的知識,想要熟練使用JDBC的小伙伴千萬不要錯過。

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 尤物国产在线精品福利一区 | 特级一级毛片 | a一级毛片免费高清在线 | 欧美一级美片在线观看免费 | 久久精品国产免费观看99 | 四虎成人精品国产一区a | 亚洲欧美一区二区三区在饯 | 欧美成年黄网站色高清视频 | 欧美色国| 99久久国产综合精品女不卡 | 综合伊人久久 | 99在线视频免费 | 香蕉成人啪国产精品视频综合网 | 免费中文字幕在线国语 | a级精品九九九大片免费看 a级毛片高清免费视频 | 国产成人a在一区线观看高清 | 欧美毛片网站 | 欧美精品亚洲精品日韩专 | 日本激情一区二区三区 | 四虎影视1515hh四虎免费 | 国产精品无码久久av | 欧美很很干 | 亚洲图片欧美日韩 | 日本级毛片免费观看 | 久久免费毛片 | 99热这里只有精品一区二 | 91精品国产91 | 日韩在线观看中文字幕 | 一级二级三级毛片 | 成人区精品一区二区不卡亚洲 | 91精品国产综合久久欧美 | 中文字幕一二三区乱码老 | 亚洲欧美久久一区二区 | 狠狠久久亚洲欧美专区 | a及毛片 | 免费国产a国产片高清不卡 免费国产阿v视频在线观看 | 国产成人影院一区二区 | 亚洲成aⅴ人片在线观 | 国产高清免费午夜在线视频 | 日本吻胸抓胸激烈视频网站 | 欧美乱大交xxxxxx喷潮免费 |