springboot 整合JdbcTemplate
这篇文章我们来看下怎么通过JdbcTemplate进行数据的持久化。
废话不多说,直接上干货。
一、代码实现
修改pom文件,引入相关依赖
1 2 3 4 5 6 7 8 9 10 |
<!-- 引入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> |
配置数据库信息,在application.properties中添加如下内容:
1 2 3 4 |
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=root |
创建实体类并创建数据库
实体类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package com.study.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; } } |
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;
}
}
数据库
实现dao层
1 2 3 4 5 6 7 8 9 10 11 |
@Repository public class UserDao { @Autowired JdbcTemplate jdbcTemplate; public void save(User user) { String sql = "insert into t_user(user_name, password) values(?,?)"; jdbcTemplate.update(sql, user.getUserName(), user.getPassword()); } } |
@Autowired
JdbcTemplate jdbcTemplate;
public void save(User user) {
String sql = "insert into t_user(user_name, password) values(?,?)";
jdbcTemplate.update(sql, user.getUserName(), user.getPassword());
}
}
实现service层
1 2 3 4 |
public interface UserService { public void save(User user); } |
public void save(User user);
}
实现类
1 2 3 4 5 6 7 8 9 10 11 |
@Service public class UserServiceImpl implements UserService { @Autowired UserDao userDao; public void save(User user){ userDao.save(user); } } |
@Autowired
UserDao userDao;
public void save(User user){
userDao.save(user);
}
}
实现controller层
1 2 3 4 5 6 7 8 9 10 11 12 |
@RestController public class UserController { @Autowired UserService service; @RequestMapping("/saveUser") public String saveUser(User user) { service.save(user); return "save user successful"; } } |
@RequestMapping("/saveUser")
public String saveUser(User user) {
service.save(user);
return "save user successful";
}
}
测试
页面正确返回信息
数据库正确保存
二、总结
由此我们发现,spring boot 只是简化了xml的配置麻烦,并没有减少我们java代码的编写量。
spring boot 不是spring 功能的增强,而是提供了一种快速使用spring 的方式:开箱即用,没有代码生成,也无需XML配置。