如何在Spring Boot项目中使用JdbcTemplate与MySQL进行数据库操作

 先展示我的文件,好方便讲解

1.创建一个简单的Spring Boot项目。

我自己创建的是用户的一个项目

public class User {
    private Integer id;
    private String name;
    public User(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
}
2. 配置项目的依赖,包括Spring Boot和MySQL连接驱动。

一定要在<dependency></dependency>的大标签里写  然后在标签里的最后写 方便找

代码如下:
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
3. 使用JdbcTemplate创建一个MySQL数据库,并设计一个适当的数据表。

在resourcs的db包里的data.sql创建如下:

drop table if exists user;
create table user(
    id int(12) auto_increment primary key ,
    name varchar(100)
)engine=InnoDB;

在resourcs的db包里的schema.sql插入一下用户名:

insert into user(name) values ('海克斯');
insert into user(name) values ('大师傅');
insert into user(name) values ('何人斯');
insert into user(name) values ('荣贵萨');
insert into user(name) values ('牛飞尔');
insert into usSer(name) values ('浩然');
4. 编写Spring Boot的配置文件,配置JdbcTemplate与MySQL的连接信息。

注:有可能你的数据库和我的数据库地址名字不一样,看情况修改

5. 在项目中创建一个DAO类,使用JdbcTemplate完成对数据库的增删改查操作。

这里就是你对数据库的应用怎么样了

@Service
public class UserDao {
    JdbcTemplate template;
    @Autowired
    public UserDao(JdbcTemplate template){
        this.template=template;
    }
    public List<User> getAll(){
        String sql="select * from user";
        return template.query(sql,(rs,rowNum)->{
            User entity=new User();
            entity.setId(rs.getInt("id"));
            entity.setName(rs.getString("name"));
            return entity;
        });
    }
    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类,提供相应的接口访问数据库操作。
@RestController
@RequestMapping("/user")
public class UserController {
    UserDao dao;
    @Autowired
    public UserController(UserDao dao){
        this.dao=dao;
    }
    @RequestMapping("/list")
    public List<User> getAll(){
        return dao.getAll();
    }
    @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?"删除成功":"找不到数据";
    }
}

7. 实现以下功能:

   - 插入一条数据到数据库。


   - 查询数据库中的所有数据。

   - 根据条件查询数据库中的数据。

   - 更新数据库中的数据。
 

 后面发现上面更新数据是老师的一个坑,更新失败了,然后自己琢磨了一下之前上课学过的,修改了一下可以运行了,简简单单几句话就可以解决,就是重新写了,哈哈哈哈哈

@PostMapping("/edit")
    public String edit(@RequestBody User entity){
        return dao.update(entity)>0?"修改成功":"fail";
    }



   - 删除数据库中的数据。

已经删除掉第一条数据了



最后小结:

只要每次写项目的时候都是一步一步来的思路就快很多,出现bug的时候使用断点也如果找,如果实在找不到,直接换一种方法来写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值