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();
}
}