0
点赞
收藏
分享

微信扫一扫

53 Spring Boot MyBatis升级篇-注解-动态SQL

1,本章大纲

(1)动态语言注解
(2)@Provider使用思路
(3)@SelectProvider小试牛刀
(4)@SelectProvider初露锋芒
(5)@SelectProvider过关斩将
(6)@InsertProvider小弟不敢当
(7)@UpdateProvider你加我来改
(8)@DeleteProvider不高兴就删

controller


    @RequestMapping("/sportshow")
    public String SportShow(Integer page,Integer pageSize, String seanum) {
        APIResultModel result = new APIResultModel();
      result = schoolSportsMettingService.SportShow(page,pageSize, seanum, result);
        return result.toString();

    }

service

    public APIResultModel SportShow(Integer page, Integer pageSize,String seanum, APIResultModel result) {
        PageHelper.startPage(page, pageSize);  //一行代码实现分页
        Integer age=12;
      List<SchoolSportsMettingEntity> list = schoolSportsMettingMapper.SportShow(age);
        PageInfo<SchoolSportsMettingEntity> pagehelper = new PageInfo<>(list); //装填数据
        result.setData(pagehelper);

  result.setCode(EnumAPIResultcode.SUCCESS_INIT.getCode());
        return result;
    }

mapper

    @SelectProvider(type = SqlProvider.class,method = "SportShow")
    List<SchoolSportsMettingEntity> SportShow(  Integer age);
//或者   List<SchoolSportsMettingEntity> SportShow( @Param Integer age);
  SqlProvider  为class类,  SportShow 为对应的方法

SqlProvider 类

package com.yuqiyu.schoolcms.provider;

import org.apache.ibatis.annotations.Param;

public class SqlProvider {

public  String  SportShow(@Param(value="age") Integer age){  //传单个参数时候必须写, 有多个参数就传递多个参数
     StringBuffer sql =new StringBuffer("select * from  school_sports a where 1=1");
   if(age!=null){
          sql.append(" and a.age =#{age}");  //这里要注意 and 那里要留个空
    }
          return  sql.toString();
}

}
举报

相关推荐

0 条评论