1、dao层

 /**
* 查询列表
* @param dataRequest
* @return
*/
@SelectProvider(type = CuiShouSqlProvider.class, method = "cuiShouList")
@Options(useGeneratedKeys = true)
public List<Map<String,String>> selectCuiShouOrderList(@Param("CuiKuanRequest") CuiKuanRequest dataRequest);
//public List<Map<String,String>> selectCuiShouOrderList(@Param("CuiKuanRequest") CuiKuanRequest dataRequest); /**
* 查询条数
* @param dataRequest
* @return
*/
@SelectProvider(type = CuiShouSqlProvider.class, method = "cuiShouListCountNum")
@Options(useGeneratedKeys = true)
public int CuiShouOrderListCountNum(@Param("CuiKuanRequest") CuiKuanRequest dataRequest);

2、sql拼接类

/**
* @author wuhongpu
* 催收动态sql拼接
*/ public class CuiShouSqlProvider { private Logger logger = LoggerFactory.getLogger(CuiShouSqlProvider.class);
/**
* 查询list列表方法
* @param dataRequest
* @return
*/
public String cuiShouList(CuiKuanRequest dataRequest){
StringBuilder selectSql = new StringBuilder();
selectSql.append("select * from (SELECT w.`status` AS clearStatus,w.thirdType,w.createTime,o.uuid,o.`status` AS orderStatus,o.lendingTime,o.refundTime,o.amountApply,u.realName,u.mobileNumber,u.idCardNo,datediff(now(),DATE_FORMAT(o.refundTime, '%Y-%m-%d')) AS DAY ");
selectSql.append("FROM wk_cuishou w LEFT JOIN orderorder o ON w.orderNo = o.uuid LEFT JOIN useruser u ON o.userUuid = u.uuid)t where 1=1 "); StringBuilder conditionSql = this.generateCondition(dataRequest); if (dataRequest.getPageNo() != null && dataRequest.getPageSize() != null) {
Integer num = (dataRequest.getPageNo() - ) * dataRequest.getPageSize();
conditionSql.append(" limit ").append(num.toString()).append(",")
.append(dataRequest.getPageSize().toString());
} selectSql.append(conditionSql);
logger.info(selectSql.toString());
return selectSql.toString();
} /**
* 统计条数方法
* @param dataRequest
* @return
*/
public String cuiShouListCountNum(CuiKuanRequest dataRequest) {
StringBuilder selectSql = new StringBuilder();
selectSql.append("select count(1) from (SELECT w.`status` AS clearStatus,w.thirdType,w.createTime,o.uuid,o.`status` AS orderStatus,o.lendingTime,o.refundTime,o.amountApply,u.realName,u.mobileNumber,u.idCardNo,datediff(now(),DATE_FORMAT(o.refundTime, '%Y-%m-%d')) AS DAY ");
selectSql.append("FROM wk_cuishou w LEFT JOIN orderorder o ON w.orderNo = o.uuid LEFT JOIN useruser u ON o.userUuid = u.uuid)t where 1=1 "); StringBuilder conditionSql = this.generateCondition(dataRequest);
selectSql.append(conditionSql);
this.logger.info(selectSql.toString());
return selectSql.toString();
} /**
* 条数分页方法
* @param dataRequest
* @return
*/
public String cuiShouListListByPage(CuiKuanRequest dataRequest) {
StringBuilder selectSql = new StringBuilder();
selectSql.append("select * from (SELECT w.`status` AS clearStatus,w.thirdType,w.createTime,o.uuid,o.`status` AS orderStatus,o.lendingTime,o.refundTime,o.amountApply,u.realName,u.mobileNumber,u.idCardNo,datediff(now(),DATE_FORMAT(o.refundTime, '%Y-%m-%d')) AS DAY ");
selectSql.append("FROM wk_cuishou w LEFT JOIN orderorder o ON w.orderNo = o.uuid LEFT JOIN useruser u ON o.userUuid = u.uuid)t where 1=1 "); StringBuilder conditionSql = this.generateCondition(dataRequest); Integer num = (dataRequest.getPageNo() - ) * dataRequest.getPageSize();
conditionSql.append("limit ").append(num.toString()).append(",")
.append(dataRequest.getPageSize().toString()); selectSql.append(conditionSql);
logger.info(selectSql.toString());
return selectSql.toString();
} /**
* 参数动态拼接方法
* @param dataRequest
* @return
*/
private StringBuilder generateCondition(CuiKuanRequest dataRequest) {
StringBuilder conditionSql = new StringBuilder(); if(dataRequest.getOrderStatus()!=null){
conditionSql.append("t.orderStatus=#{CuiKuanRequest.orderStatus} and ");
}
if(dataRequest.getClearStatus()!=null){
conditionSql.append("t.clearStatus=#{CuiKuanRequest.clearStatus} and ");
}
if(dataRequest.getDay()!=null ){
if(dataRequest.getDay()>=){
conditionSql.append("t.day>#{CuiKuanRequest.day} ");
}else{
conditionSql.append("t.day=#{CuiKuanRequest.day} ");
} }
conditionSql.append("order by t.day desc"); return conditionSql;
}
}

springboot 注解版案例的更多相关文章

  1. SSM-Spring-17:Spring中aspectJ注解版

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言,定义了AOP 语法,能够在编译期提供 ...

  2. SpringBoot整合Mybatis【非注解版】

    接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 ​ 选择Spring Initializr,配置JDK版本 ​ 输入项目名 ​ 选择构建web项目所需的state ...

  3. SpringBoot整合Mybatis注解版---update出现org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. Available parameters are [arg1, arg0, param1, param2]

    SpringBoot整合Mybatis注解版---update时出现的问题 问题描述: 1.sql建表语句 DROP TABLE IF EXISTS `department`; CREATE TABL ...

  4. SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)

    SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...

  5. SpringBoot集成Mybatis(0配置注解版)

    Mybatis初期使用比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.当然Mybatis也发现了这种弊端,初期开发了generator可以根据表结构自动生成实体类.配置文件和 ...

  6. SpringBoot + MyBatis(注解版),常用的SQL方法

    一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...

  7. SpringBoot数据访问之整合mybatis注解版

    SpringBoot数据访问之整合mybatis注解版 mybatis注解版: 贴心链接:Github 在网页下方,找到快速开始文档 上述链接方便读者查找. 通过快速开始文档,搭建环境: 创建数据库: ...

  8. springMVC(注解版笔记)

    springMVC(注解版) 较之于非注解版本,发生一下变化: 1.配置文件需要配置的标签有: <!-- 包的扫描,此包下面的所有包都启用注解 --> <context:compon ...

  9. Spring Boot整合MyBatis(非注解版)

    Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...

随机推荐

  1. C# String.split()用法小结

    第一种方法 string s=abcdeabcdeabcde; string[] sArray=s.Split('c') ; foreach(string i in sArray) Console.W ...

  2. MongoDB:Map-Reduce

    Map-reduce是一个考虑大型数据得到实用聚集结果的数据处理程式(paradigm).针对map-reduce操作,MongoDB提供来mapreduce命令. 考虑以下的map-reduce操作 ...

  3. cocos2d-x中使用CCOrbitCamera做水平翻转

    项目中需要用到水平翻转效果,这里偷懒了-   首先翻转,它只是转到了180度,多了就觉得很奇怪了. 所以这里设定就是先从0 ~ 90度,然后再从270 ~ 360,90 – 270 视觉上是感觉不到变 ...

  4. curl win

    curl -H "tocken: 123456789"   -H "userName: admin"  http://39.18.10.2/log/v1/err ...

  5. 解决 dotNetZip 解压乱码的问题,支持ZIP分卷解压缩

    using (ZipFile zip = ZipFile.Read("D:\\test\\2007.zip",System.Text.Encoding.Default)) { fo ...

  6. java通过Stream对list集合分组

    java通过Stream对list集合分组 现在有一个List集合,想对该集合中的数据分组处理,想到java8中的stream,就搞来试试,非常给力!例子如下 1 2 3 4 5 6 7 8 9 10 ...

  7. 最课程启示录:L风的李同学

    李同学是一个特殊的存在. 他永远是学员群里话最多的一个男同学.注意,这里加了一个定语“男”,这当然意味着不久的将来,我们的学员启示录将会出现一个话多的女同学. 我并不是第一天知道他话多.据说,他在来最 ...

  8. git clone报错:“server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none”

    I can push by clone project using ssh, but it doesn't work when I clone project with https. it shows ...

  9. vmware桥接模式

    vmware桥接模式 桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一 ...

  10. fromdata上传文件,ajax上传文件, 纯js上传文件,html5文件异步上传

    前端代码: 上传附件(如支付凭证等) <input type="file" name="fileUpload" id="fileUpload&q ...