springboot 注解版案例
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 注解版案例的更多相关文章
- SSM-Spring-17:Spring中aspectJ注解版
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- AspectJ AspectJ是一个面向切面的框架,它扩展了Java语言,定义了AOP 语法,能够在编译期提供 ...
- SpringBoot整合Mybatis【非注解版】
接上文:SpringBoot整合Mybatis[注解版] 一.项目创建 新建一个工程 选择Spring Initializr,配置JDK版本 输入项目名 选择构建web项目所需的state ...
- 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 ...
- SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)
SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...
- SpringBoot集成Mybatis(0配置注解版)
Mybatis初期使用比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.当然Mybatis也发现了这种弊端,初期开发了generator可以根据表结构自动生成实体类.配置文件和 ...
- SpringBoot + MyBatis(注解版),常用的SQL方法
一.新建项目及配置 1.1 新建一个SpringBoot项目,并在pom.xml下加入以下代码 <dependency> <groupId>org.mybatis.spring ...
- SpringBoot数据访问之整合mybatis注解版
SpringBoot数据访问之整合mybatis注解版 mybatis注解版: 贴心链接:Github 在网页下方,找到快速开始文档 上述链接方便读者查找. 通过快速开始文档,搭建环境: 创建数据库: ...
- springMVC(注解版笔记)
springMVC(注解版) 较之于非注解版本,发生一下变化: 1.配置文件需要配置的标签有: <!-- 包的扫描,此包下面的所有包都启用注解 --> <context:compon ...
- Spring Boot整合MyBatis(非注解版)
Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...
随机推荐
- Java Date 日期 时间 相关方法
DateTools.java import java.text.SimpleDateFormat; import java.util.Date; /** * 日期操作类 */ public class ...
- linux文件名称查找which,whereis,locate
1. 文件名称查找 使用find查询时.因为磁盘查询.所以速度较慢. 所以linux下查询更常使用which, whereis, locate来查询,因为是利用数据库查询.所以速度非常快. 2. wh ...
- Java 8新的时间日期库的20个使用示例
原文链接 作者:Javin Paul 译者:之诸暇 除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学 ...
- 暗影猎人第一二季/全集Shadowhunters迅雷下载
<暗影猎人>该剧根据小说<致命契约>(The Mortal Instruments)改编,是电影<圣杯神器:骸骨之城>的续篇.故事描述少女Clary Fray(Ka ...
- 对于多个button要在同一个监听器中实现自己的单击事件的方法小诀窍。
在网上的一些教程中往往是把一个button加入多个监听器,却非常少有人会把多个button在同一个监听器中去实现他们的单击事件,并且这杨的事实上是非常有用的,比方说在制作一个简单的计算器是就须要0-9 ...
- Resultset转Bean工具类
package org.pandas.webIdp.webOP.help; import java.lang.reflect.Field; import java.lang.reflect.Metho ...
- js改变iframe 的src地址
<script> function dizhi(){ document.getElementById("aaa").src='http://www.sohu.com' ...
- HTML5 File API 全介绍
在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现.出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成一些类 ...
- iOS runtime探究(三): 从runtime開始理解OC的属性property
你要知道的runtime都在这里 转载请注明出处 http://blog.csdn.net/u014205968/article/details/67639303 本文主要解说runtime相关知识, ...
- PowerShell获取当前用户的权限
function Get-CurrentUserRoles { $SecurityPrinciple = New-Object -TypeName System.Security.Princi ...