Spring Boot 系統之三:Spring Boot 整合JdbcTemplate
阿新 • • 發佈:2018-12-07
前面兩篇文章我們講了兩件事情:
這篇文章我們來看下怎麼通過JdbcTemplate進行資料的持久化。
一、程式碼實現
1、修改pom.xml檔案,引入相關依賴。
<!-- 引入 jdbc 依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- 引入 mysql 資料庫連線依賴--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
2、配置資料庫資訊,在application.properties中新增如下內容:
# 資料庫資訊
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# xxx為資料庫名稱
spring.datasource.url=jdbc:mysql://localhost:3306/xxx
spring.datasource.username=root
spring.datasource.password=root
3、建立實體類並建立資料庫
1、實體類
package com.learn.spring.entity; public class User { private Integer id; private String userName; private String password; 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 getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
2、資料庫
點選Execute即可建立成功;
3、實現dao層
package com.learn.spring.dao; import com.learn.spring.entity.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @Repository public class UserDao { @Autowired JdbcTemplate jdbcTemplate; public void save(User user){ String sql = "insert into t_user(user_name, password) values(hello,123456)"; jdbcTemplate.update(sql, user.getUserName(), user.getPassword()); } }
4、實現Service層
(1)介面
package com.learn.spring.service;
import com.learn.spring.entity.User;
public interface UserService {
public void save(User user);
}
(2)實現類
package com.learn.spring.service.impl;
import com.learn.spring.dao.UserDao;
import com.learn.spring.entity.User;
import com.learn.spring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
public void save(User user){
userDao.save(user);
}
}
5、實現controller層
package com.learn.spring.controller;
import com.learn.spring.entity.User;
import com.learn.spring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
UserService service;
@RequestMapping("/saveUser")
public String saveUser(User user) {
service.save(user);
return "save user successful";
}
}
6、執行測試
(1)頁面正確返回資訊“save user successful”
(2)資料庫正確儲存,插入一條資料;
二、總結
由此我們發現,Spring Boot 只是簡化了xml的配置麻煩,並沒有減少我們java程式碼的編寫量。
Spring Boot 不是Spring 功能的增強,而是提供了一種快速使用Spring 的方式:開箱即用,沒有程式碼生成,也無需XML配置。