Spring Boot中的JdbcTemplate与MySQL集成

当你在开发Spring Boot项目时,经常需要与数据库进行交互。

而JdbcTemplate是Spring框架中一个非常强大的数据库访问工具,可以简化与数据库的交互过程。本篇博客将介绍如何在Spring Boot项目中使用JdbcTemplate与MySQL集成。

在开始之前,我们需要先创建一个简单的Spring Boot项目。

可以使用Spring Initializr来快速创建一个基本的Spring Boot项目骨架。

在创建项目时,我们需要选择适当的依赖,包括Spring Boot和MySQL连接驱动。

接下来,我们需要在项目的pom.xml文件中配置相关的依赖。

首先,我们需要添加Spring Boot的依赖项,以及MySQL连接驱动的依赖项。这样,我们就可以在项目中使用Spring Boot和MySQL了。

在项目中使用JdbcTemplate之前,我们需要先在MySQL数据库中创建一个适当的数据表。

可以使用MySQL的客户端工具(如MySQL Workbench)来创建数据库和表。

在创建表时,我们需要定义适当的列和约束,以满足应用程序的需求。

接下来,我们需要在Spring Boot的配置文件中配置JdbcTemplate与MySQL的连接信息。

在application.properties文件中,我们可以指定数据库的URL、用户名、密码等属性。同时,我们还需要在配置文件中启用JdbcTemplate的自动配置。

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

在DAO类中,我们可以定义一些方法来执行SQL查询和更新操作。

JdbcTemplate提供了一些方便的方法,如queryForObject、query、update等,用于执行不同类型的操作。

最后,我们可以创建一个Controller类,提供相应的接口来访问数据库操作。

在Controller类中,我们可以定义一些请求处理方法,用于处理来自客户端的请求。

这些方法可以调用DAO类中的方法来执行数据库操作,并将结果返回给客户端。

具体代码如下:

1、实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CarBrand {
   private Integer id;
   private String name;
   private String country;//国家
 
    public CarBrand(String name,String country){
        this.country = country;
        this.name = name;
    }
}
2、Dao层代码

查询全部
根据指定字段查询
新增
根据id删除
根据id修改
@Service
public class CarBrandDao {
    @Autowired
    private JdbcTemplate template;
    //获取所有品牌列表
    public List<CarBrand> getAll(){
        String sql="select * from CarBrand";
        return template.query(sql,(rs,rowNum) ->{
            CarBrand entity=new CarBrand();
            entity.setId(rs.getInt("id"));
            entity.setName(rs.getString("name"));
            entity.setCountry(rs.getString("country"));
            return entity;
        });
    }
    //根据品牌获取信息
    public List<CarBrand> getByName(String name){
        String sql="select * from carBrand where name=?";
        return Collections.singletonList(template.queryForObject(sql
                ,new Object[]{name}
                ,new BeanPropertyRowMapper<>(CarBrand.class)));
    }
    //新增数据
    public int add(CarBrand entity){
        String sql="insert into carBrand(name,country) values(?,?)";
        return  template.update(sql,entity.getName(),entity.getCountry());
    }
    //修改数据
    public int update(CarBrand carBrand){
        String sql="update carBrand set name=?,country=? where id=?";
        return  template.update(sql,carBrand.getName(),carBrand.getCountry(),carBrand.getId());
    }
    //删除数据
    public int delete(Integer id){
        String sql="delete from carBrand where id=?";
        return  template.update(sql,id);
    }
}

3、控制层代码

GetMapping  表示该接口为查询类方法
PostMapping  表示该接口为新增类方法
DeleteMapping 表示该接口为 删除类的方法
PutMapping  表示该接口为 修改类的方法
 
@RestController
@RequestMapping("/car")
public class CarBrandController {
    @Autowired
    private CarBrandDao carBrandDao;
    //查询某汽车品牌结果
    @GetMapping("/getAll/{name}")
    public List<CarBrand> getAllName(@PathVariable("name") String name){
        return carBrandDao.getByName(name);
    }
    //汽车品牌列表结果截图;
    @GetMapping("/get")
    public List<CarBrand> get(){
        return carBrandDao.getAll();
    }
 
    //新增汽车品牌数据
    @PostMapping("/insert")
    public int getAll(@RequestBody CarBrand carBrand){
        return carBrandDao.add(carBrand);
    }
 
    //删除汽车品牌数据
    @DeleteMapping("/delete/{id}")
    public int getAll(@PathVariable("id") int id){
        return carBrandDao.delete(id);
    }
 
    //修改汽车品牌数据
    @PutMapping("/update")
    public int update(@RequestBody CarBrand carBrand){
        return carBrandDao.update(carBrand);
    }
}

注意:

访问参数如果是在路径后面则应该添加该对应方法上注解@PathVariable("路径后的参数")
访问参数如果是在body中则应该使用json格式,应在方法参数前添加注解"@RequestBody"表明,从body中获取参数,否则将无法获取传递过来的参数

代码测试如下:

通过按照以上步骤进行操作,我们就可以在Spring Boot项目中成功集成JdbcTemplate与MySQL,并实现对数据库的增删改查操作。

这样,我们可以更方便地进行数据库操作,提高开发效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值