如何在Spring Boot项目中使用JdbcTemplate与MySQL进行数据库操作
1. 创建一个简单的Spring Boot项目。
2. 配置项目的依赖,包括Spring Boot和MySQL连接驱动。
使用JbdcTemplate前要添加JDBC starter 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
再引入Mysql依赖包
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
3. 使用JdbcTemplate创建一个MySQL数据表,并插入相关信息。
在资源文件夹resources中新建一个包里面存放sql语句
这里已经创建好了,下面schema.sql是用于创建数据表的,data.sql是用于插入数据表数据
4. 编写Spring Boot的配置文件,配置JdbcTemplate与MySQL的连接信息。
首先先在Mysql中创建一个数据库
在项目的配置文件中,配置MySQL数据库的连接信息
spring:
datasource:
url: jdbc:mysql://localhost:3306/haha?useUnicode=true&characterEncoding=UTF-8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
sql:
init:
schema-locations: classpath:db/schema.sql
mode: always
continue-on-error: true
data-locations: classpath:db/data.sql
这个时候我们试着运行一下发现数据库已经成功创建一个名为user的数据表,并带有若干数据
5. 在项目中创建一个DAO类,使用JdbcTemplate完成对数据库的增删改查操作。
先创建一个user类,并添加@Data注解
@Data
public class User {
private Integer id;
private String name;
}
在DAO类里面创建一个JdbcTemplate对象,在调用JdbcTemplate对象前先使用@Autowired注解来完成自动装配
JdbcTemplate template;
@Autowired
public DAO(JdbcTemplate template){
this.template=template;
}
下面来完成对数据库的增删查改操作
// 根据id获取用户信息
public User getById(Integer id){
String sql="select * from user where id=?";
return template.queryForObject(sql
,new Object[]{id}
,new BeanPropertyRowMapper<>(User.class));
}
// 插入用户数据
public int add(User entity){
String sql="insert into user(name) values(?)";
return template.update(sql,entity.getName());
}
// 修改用户数据
public int update(User entity){
String sql="update user set name=? where id=?";
return template.update(sql,entity.getName(),entity.getId());
}
// 删除用户数据
public int delete(Integer id){
String sql="delete from user where id=?";
return template.update(sql,id);
}
6. 在项目中创建一个Controller类,提供相应的接口访问数据库操作。
1.使用@RequestMapping映射
2.实现增删查改操作
@RestController
@RequestMapping("/user")
public class Controller {
DAO dao;
@Autowired
public Controller(DAO dao){
this.dao=dao;
}
//用户信息列表
@RequestMapping("/list")
public List<User> getAll(){
return dao.getAll();
}
// 根据id获取用户信息
@RequestMapping("/getById/{userId}")
public User findById(@PathVariable("userId")Integer id){
return dao.getById(id);
}
// 插入用户数据
@RequestMapping("/insert")
public String insert(){
User entity=new User();
entity.setName("测试用户名");
return dao.add(entity)>0?"新增数据成功!":"Fail";
}
// 修改用户数据
@RequestMapping("/edit")
public String edit(){
User entity=new User();
entity.setId(9);
entity.setName("测试用户名-update");
return dao.update(entity)>0?"修改数据成功!":"Fail";
}
// 删除用户数据
@RequestMapping("/delete/{userId}")
public String delete(@PathVariable("userId") Integer id){
return dao.delete(id)>0?"删除数据成功!":"找不到该数据";
}
}
然后就可以在浏览器上试试是否完成增删查改数据
1.根据ID查找用户信息
2.增加用户信息
再查看数据表发现已经添加了一条数据
3.删除用户数据
再看数据表发现之前的ID为9数据已经不见了
4.根据id修改用户信息
再回头看数据表发现已经修改好了
这样就实现了对数据表数据的增删查改操作