创建项目,然后引入相关依赖
编写相关结构代码
测试代码
一、创建项目
二、编写相关层构代码
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的演示所有方法执行的结果
结束:
经过此次的学习,个人对项目的整体架构与设计有了更多的认识,对各各服务的代码结构也更加的熟悉。后面本人会更加深入的去学习相关的知识架构,巩固自身,提升自己,如有不足欢迎大家批评指正