接口的参数是对象还是条件

后台操作无非是增删改查,但是怎么个增删改查还是要看需求达到不同效果,传的参数可以看个人喜好吧,关于Mybatis,我喜欢是将一个实体类对象当参数,前端传入的参数实体类中都有字段是对应上的,前端想要什么参数传入对象里都有,他想传哪个字段就传哪个字段不需要后台在参数中列好


@PostMapping("/add")
public Result add(PmProject pmProject) {
    return pmProjectService.add(pmProject);
}
前提是,数据库中这张表的非空字段前端必须传入,否则无法写入到数据库中的

传对象的话,在Mybatis的XML中就需要把类型都给出去

com.uhope.uip.item.domain.MdDrainageBasin">

这里要说一下 XML中增删改查的标签中的 resultMap和resultType

resultMap和resultType都是返回的结果集,resultMap的话需要在XML中写好表中的字段,而且要对应上


  
  
  
  
  
  
  
  
  
  
  
  

resultType的话不需要,只需要在标签中把实体类的路径对应上即可

基本上,这种查询的都要这种返回结果集的( resultType  或者resultMap ),不需要 parameterType,因为parameterType是传参类型,只有update/delete/insert的时候需要

回到刚才的话题,parameterType的类型就需要注意了,刚说过,只有更新,删除,插入的时候需要用到,那如果你传的是一个对象的话,那你parameterType类型就要是一个对象路径

那如果是几个参数而已的话,这里推荐使用HashMap
Map可以存放很多类型,八大基础类型还是放一个对象都是可以的,使用Map的话,Mapper接口参数也要改成Map
void sortDown(HashMapmap);
PS:请注意返回类型,使用List还是使用对象返回看时机,多条用List,单条用对象,在Mapper中自己选择
List findByBasin();
MdWaterSystem find(String basin_code);
Mapper后在业务处理层中就要指定参数即可
public Result sortOrder(Integer page, Integer size, @RequestParam Integer sortOrder,@RequestParam Integer status) {
HashMap map = new HashMap<>();
map.put("sortOrder",sortOrder);
相反若是对象的话放上对象

你可能感兴趣的:(Spring,Boot)