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;
}

}

数据库

springboot 整合JdbcTemplate

实现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";
}
}

测试

页面正确返回信息

springboot 整合JdbcTemplate

数据库正确保存

springboot 整合JdbcTemplate

二、总结

由此我们发现,spring boot 只是简化了xml的配置麻烦,并没有减少我们java代码的编写量。

spring boot 不是spring 功能的增强,而是提供了一种快速使用spring 的方式:开箱即用,没有代码生成,也无需XML配置。

发表评论

登录后才能评论
关注我们