JdbcTemplate是spring自带的数据持久化方案,虽然功能没有Mybatis那么强大,但是使用起来也是比较简单的。基本使用:
1. 引入pom文件
在创建springboot项目时,除了导入基本的web依赖,添加jdbc依赖以及数据库驱动
2. 添加连接池依赖
项目创建成功后,可以添加Druid数据库连接池依赖,这里使用默认的Hicari。
可以看到pom文件引入了如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
注意,druid-spring-boot-starter表示是第三方提供的。
3. 配置文件
在application.properties配置文件中配置基本信息就可以使用了:
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql:///jdbc?useUnicode=true&charactEncoding=UTF-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
4. 直接在controller层测试
先创建user bean
public class User {
private Integer id ;
private String name ;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在数据库中建表:
CREATE DATABASE jdbc;
USE jdbc;
CREATE TABLE USER(
id INT ,
NAME VARCHAR(20)
);
INSERT INTO USER VALUES(1,'狗蛋');
INSERT INTO USER VALUES(2,'狗娃');
INSERT INTO USER VALUES(3,'狗剩');
创建controller:
@RestController
public class Mycontroller {
//注入JdbcTemplate
@Autowired
JdbcTemplate jdbcTemplate;
/*
查询所有
*/
@RequestMapping("/query")
public List<User> queryById(){
System.out.println(jdbcTemplate);
//BeanPropertyRowMapper是spring已经写好的处理查询返回的结果集处理策略
return jdbcTemplate.query("select * from user",new BeanPropertyRowMapper(User.class));
}
/*
添加user
*/
@RequestMapping("/add")
public String add(){
int result = jdbcTemplate.update("insert into user(id,name) values(?,?)",3,"大傻蛋");
if(result==0){
return "插入失败";
}else{
return "插入成功";
}
}
}
测试:访问http://localhost:8080/query,结果正确。