1、com.baomidou.mybatisplus.extension.plugins.pagination.Page的使用

Mapper层

.xml文件:

<select id="page" resultType="com.sample.pass.contract.model.vo.ContractMaterialVo">selectsum (total) as totalMoney,cm.*,c.party_a_name,c.party_b_name,c.classify_name as classifyName,c.type_name as typeName,c.code,c.name as contractName,c.business_unit_name as businessUnitNamefromcontract_material as cmINNER JOIN contract c on cm.contract_id = c.idwherecm.del_flag = 0and c.del_flag = 0and (c.status = 10 or c.status = 20)<if test="name != null and name != ''">and find_in_set(cm.name,#{name})</if><if test="classifyName != null and classifyName != ''">and c.classify_name = #{classifyName}</if><if test="typeName != null and typeName != ''">and c.type_name like concat('%',#{typeName} ,'%')</if><if test="partyName != null and partyName != ''">and (find_in_set(c.party_a_name,#{partyName}) or find_in_set(c.party_b_name,#{partyName}))</if><if test="startTime != null and startTime != '' and endTime != null and endTime != ''">and DATE_FORMAT(cm.create_time,'%Y%m%d') between #{startTime} and #{endTime}</if>group by cm.name, cm.specification, cm.brand, cm.unit_name<if test="conditions != null and conditions != '' and conditions == 'number'">order by cm.number desc</if><if test="conditions != null and conditions != '' and conditions == 'total'">order by cm.total desc</if><if test="conditions == null or conditions == ''">order by cm.total desc</if>
</select>
List<ContractMaterialVo> page(@Param("query") Query query, @Param("name") String name, @Param("conditions") String conditions, @Param("classifyName") String classifyName, @Param("typeName") String typeName, @Param("partyName") String partyName, @Param("startTime") String startTime, @Param("endTime") String endTime);

Service层

service接口层:

Page<ContractMaterialVo> contractMaterialList(Query query, String name, String conditions, String classifyName, String typeName, String partyName, String time);

service实现类:

@Override
public Page<ContractMaterialVo> contractMaterialList(Query query, String name, String conditions, String classifyName, String typeName, String partyName, String time) {String startTime = "",endTime = "";if(time != null && !"".equals(time)){startTime = time.split("-")[0];endTime = time.split("-")[1];}List<ContractMaterialVo> list = contractMaterialMapper.page(query, name, conditions, classifyName, typeName, partyName, startTime, endTime);return query.setRecords(list);
}

Controller层

@RequestMapping(value = "/contract-page")
@ApiOperation(httpMethod = "GET", value = "合同分析分页条件查询")
public R<Page<Contract>> contractPage(@ApiParam(value = "合同金额最高",required = false) @RequestParam(value = "conditions",required = false) String conditions,@ApiParam(value = "合同分类",required = false) @RequestParam(value = "classifyName",required = false) String classifyName,@ApiParam(value = "合同类型",required = false) @RequestParam(value = "typeName",required = false) String typeName,@ApiParam(value = "签约单位",required = false) @RequestParam(value = "partyName",required = false) String partyName,@ApiParam(value = "签约单位",required = false) @RequestParam(value = "part",required = false) String part,@ApiParam(value = "模版名称",required = false) @RequestParam(value = "time",required = false) String time,@ApiParam(value = "页码",required = true) @RequestParam("page") Integer page,@ApiParam(value = "每页个数",required = true) @RequestParam("pageSize") Integer pageSize) {Page<Contract> contractPage = contractService.analysePage(new Query(new HashMap<String, Integer>() {{put("page", page);put("limit", pageSize);}}), conditions, classifyName, typeName, partyName, part, time);return R.ok(contractPage);
}

2、mysql的find_in_set函数

find_in_set(str,strlist)函数

第一个参数:可以是字段也可以是字段中的一个数据

第二个参数:可以使字段集合也可以是以逗号作为分割根据的字符串

查询的结果集为: str在strlist中的结果集

demo见上面.xml文件

爆米豆分页插件使用及mysql的find_in_set函数使用相关推荐

  1. mysql中find_in_set()函数的使用

    语法:FIND_IN_SET(str,strlist)定义:1. 假如字符串str在由N子链组成的字符串列表strlist中,则返回值的范围在1到N之间.2. 一个字符串列表就是一个由一些被','符号 ...

  2. mysql中find_in_set()函数的使用及in()用法详解

    From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...

  3. MySQL 的 find_in_set函数使用方法

    很多时候我们在设计数据库时有这种情况,比如: 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 现在有篇文章他既是 头条,又是热点 ...

  4. MySQL中 find_in_set 函数如何替换成Oracle写法

    下面sql语句是MySQL写法 select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{ ...

  5. mysql中find_in_set()函数的使用和排序,且与in(),like()的比较详解

    MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) str 要查询的字符串 strlist 字段名 参数以","分隔 如 (1 ...

  6. mysql分页插件springboot_SpringBoot--使用Mybatis分页插件

    1.导入分页插件包和jpa包 org.springframework.boot spring-boot-starter-data-jpa com.github.pagehelper pagehelpe ...

  7. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  8. Springboot集成mybatis通用Mapper与分页插件PageHelper

    Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...

  9. Java使用lambda进行分页,SpringBoot(八):整合mybatis,通用mapper,分页插件,lambda,Logger,junit用法...

    本文作者:低调小熊猫 转载声明:自由转载-非商用-非衍生-保持署名,非商业转载请注明作者及出处,商业转载请联系作者本人qq:2696284032 整合demo 配置依赖 tk.mybatis mapp ...

最新文章

  1. Android Contextual Menus之二:contextual action mode
  2. 用RadASM开发窗口程序(2)
  3. (转)PowerHA完全手册(一,二,三)
  4. mysql schema是什么_MySQL中information_schema是什么
  5. Fragment过度动画分析一
  6. Go工程化 - 手摸手带你理解依赖注入
  7. 设计模式的C语言应用-外观模式-第八章
  8. python求两组同学的平均成绩_Python学习心得2:求平均值
  9. 如何在 Mac 上关闭 Caps Lock 键延迟功能?
  10. css小猫笑起来的动画
  11. 设随机过程{X(t)=Acos(ωt+Θ),t∈(一∞,+∞)},其中A,ω,Θ为相互独立的实随机变量,其中A的均值为2,方差为4,且Θ~U(-π,π),ω~U(-5,5),试问X(t)是否为平稳过程
  12. matlab怎么实现行随机网络,matlab生成随机行走网格 模拟材料生长 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  13. spark-2.2.0发行说明
  14. 计算机打不开sai文件夹,解决 Excel打开桌面文件 显示“无法找到C:\Documents.xls。请检查文件名的...”错误...
  15. 小程序仿微信聊天按住说话功能
  16. 《操作系统真象还原》第五章 ---- 轻取物理内存容量 启用分页畅游虚拟空间 力斧直斩内核先劈一角 闲庭信步摸谈特权级
  17. TPshop项目-功能测试(2)
  18. 写了两个月的黑白棋对战程序,发现早就有了GGS,互联网上的游戏。
  19. 《现代医学成像科学丛书——CT原理与技术》——X射线管的基本作用
  20. DAMO-YOLO : A Report on Real-Time Object Detection Design

热门文章

  1. c语言中有符号数的补码,[分享]带符号数的表示-----补码
  2. echarts 报错Failed to execute 'createRadialGradient' on 'CanvasRenderingContext2D': The provided doubl
  3. 不带搜索框,数据同步请求,产品按字母分组组件
  4. 我的价值观和人才观(狭得不能再狭的狭义)
  5. Vant上传多个图片或视频,更改视频预览图
  6. 团队和过程:提升移动应用体验的根本
  7. doodoo.js快速入门教程
  8. 我的分享:第九章:月薪三万执行计划
  9. LTD营销SaaS-官微云代理商加盟服务
  10. 知乎App产品体检报告