前面两篇文章我们讲了两件事情:
这篇文章我们来看下怎么通过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配置。