基于SpringBoot集成JdbcTemplate连接MySql数据库的基础使用(仅用于个人学习使用)

  1. 创建项目,并引入相关依赖
  2. 编写相关结构代码
  3. 代码测试

一、创建项目****************************************************************
fafb5aef5b6541e4a3ccdbce657e7c7a.png

二、编写相关层构代码************************************************************************

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中获取参数,否则将无法获取传递过来的参数

三、具体代码测试**********************************************************

  • 这里简单通过测试类TesT的演示所有方法执行的结果

0992c1b81750481b89674881823f7d7e.png

结束:

经过此次的学习,个人对项目的整体架构与设计有了更多的认识,对各各服务的代码结构也更加的熟悉。后面本人会更加深入的去学习相关的知识架构,巩固自身,提升自己,如有不足欢迎大家批评指正

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值