selectprovider 分页_MyBatis使用@SelectProvider拼接sql语句

如果使用MyBatis注解方式写sql,又想要XML写法的判断入参拼接条件,可以通过@SelectProvider方式实现。

新建Provider

public class RateProvider {

private final String table_name = "rate_finish";

public String getFinishRate(Map para) {

String sql = "SELECT homework_type,device_type,`level`,finish_count,count,create_at FROM rate_finish ";

sql += "WHERE 1=1 ";

if (para.get("deviceType") != null && !StringUtils.isEmpty(para.get("deviceType").toString())) {

sql += "AND device_type = '" + para.get("deviceType").toString() + "' ";

}

if (para.get("homeworkType") != null && !StringUtils.isEmpty(para.get("homeworkType").toString())) {

sql += "AND homework_type = '" + para.get("homeworkType").toString() + "' ";

}

if (para.get("date") != null && !StringUtils.isEmpty(para.get("date").toString())) {

sql += "AND create_at = '" + para.get("date").toString() + "' ";

}

sql += "ORDER BY homework_type,device_type,`level`";

return sql;

}

}

这里的para会包含6个值,也就是2倍的入参参数,可以通过key方式或者index方式获取对应参数。

新建Entity

public class RateFinish extends AbstractModel {

private int id;

private String deviceType;

private String level;

private String finishCount;

private String count;

private String homeworkType;

private String createAt;

编写Mapper方法

@SelectProvider(type = RateProvider.class, method = "getFinishRate")

@Results({

@Result(property = "homeworkType", column = "homework_type"),

@Result(property = "deviceType", column = "device_type"),

@Result(property = "level", column = "level"),

@Result(property = "finishCount", column = "finish_count"),

@Result(property = "count", column = "count"),

@Result(property = "createAt", column = "create_at")

})

List getFinishRate(

@Param("deviceType") String deviceType,

@Param("homeworkType") String homeworkType,

@Param("date") String date);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Event用计算机语言,求高人解释下一段计算机语言。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼MOXTVersion: 21SkinModelPath: Models\NPCs\npc\城战相关\投石车\投石车.SMDOrgColor: ffffffffSrcBlend: 5DestBlend: 6OuterNum: 8Float: 1.000000Float: 1.000000Float: 1.000000Float: 1.000000Float: 1.000000Float: 1.00000…

消消乐实现下坠_JavaScript有多强大,实现消消乐小游戏

简易JS消消乐-jq22.comhtml,body {margin:0px;padding:0px;}.bgs0 {background:linear-gradient(to left,#ABDCFF,#0396FF);}.bgs1 {background:linear-gradient(to left,#E2B0FF,#9F44D3);}.bgs2 {background:linear-gradient(to left,#FEB692,#0396FF);}.bgs3 {background:li…

网站能拿到其他网站的cookie_在网站推广中企业网站能发挥哪些作用?(一)

相信大家都知道,在如今这个互联网环境下的市场中,企业必须借助互联网的便利才能寻求更加长远的发展。而要做到这些,首先就要求企业建立自己的企业网站。企业网站如此重要,接下来易推网将为大家分析在网站推广中企业网站能发挥的作…

猎户座计划软件测试,四核配置跑分:猎户座4412性能强劲_平板电脑评测-中关村在线...

四核配置跑分:猎户座4412性能强劲硬件配置方面,纽曼Q10采用三星Exynos 4412猎户座处理器,搭载1GB DDR3内存,16GB存储空间(可通过TF存储卡扩展至32GB),预装Android 4.0操作系统,内置蓝牙4.0模块,…

蛋糕是叫胚子还是坯子_教你做巧克力淋面蛋糕,掌握这个配比,好看又好吃,10分钟做一个...

淋面蛋糕不知道从什么时候开始非常流行,它唯美的流淌线条,以及简洁的造型受到很多人的喜爱,这对于没有任何裱花基础的小伙伴来说真是福音,过生日不用再去蛋糕店订蛋糕,而是亲手为家人制作更有意义的蛋糕,虽…

mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六)

MySQL执行检索操作会返回一组称为结果集的行,这组返回的行都是与SQL 语句相匹配的行(零行或多行),但是,使用简单的select 语句,没有办法得到第一行、下一行、或前十行,也不存在一行地处理所有行…

计算机背景为什么总是黑色,电脑背景变成黑色的了是为什么

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。电脑背景变成黑色的了是因为微软采取了反盗版措施,凡是使用盗版Windows系统的用户,系统启动后,桌面背景会变成全黑,且半个小时黑屏一次…

treeview控件怎么折叠_拍摄的视频闪烁怎么办?一招就能搞定,电脑手机都适用...

视频拍摄/视频剪辑教程/新媒体大家好我是学拍视频剪辑的黑米老师很多剪辑师在剪辑时,总会收到一些视频画面闪烁的素材,这是因为机器观察到的色彩和人肉眼观察到的色彩不一样,当曝光变化比较明显时,机器会捕捉到一些肉眼观察不到的…

rocketmq 消息指定_进大厂必备的RocketMQ你会吗?

点击关注"故里学Java"右上角"设为星标"好文章不错过关于消息队列,相信大家都不陌生,现在的中大型项目中或多或少都有使用到消息队列,对于消息队列大家可能都有一定的了解,使用消息队列可以解决什么样的问题&a…

秦丝软件的服务器稳定吗,强烈推荐 | 最好的五款服装进销存软件排名

随着企业的发展和市场的需要,传统的手工记录法复杂而繁琐,且错误较多费时费力,尤其是服装行业,涉及的品牌众多,需要管理的货品数量多,质量参差不齐,经营管理越来越困难。在此,小编为…

c语言putchar_C语言实现变色的心!连机器都会变心,呵,男人!

各位,今天我们用C语言来秀一把,给大家带来一个会自动变色的心:怎么样,效果还可以吧!其实这个实现的原理还是比较简单的,为了让窗口别跟控制台那样难看,我调用了system函数对窗口的大小、颜色和标…

git灰度发布版本_Git发布2.30版本

Git 2.30版本已于北京时间今天凌晨3点发布,是该广受欢迎的分布式修订版本控制系统的最新稳定版本更新,Git由Linux内核发明者Linus大神于2005年推出。2020年早些时候,Git 2.28版本带来了对可配置/默认分支名称的支持,以取代到目前为…

匿名的ftp服务器不允许用户上传文件对吗,FTP服务器匿名用户也能上传文件的配置...

FTP服务器匿名用户也能上传文件的配置[日期:2006-12-05]来源:作者:[字体:大 中 小]环境:RedHat 7.3 wu-ftp-2.6.2 proftpd-1.2.4步骤:1.wu-ftpa.从RedHat的光盘上安装wu-ftpd-2.6.2-5.i386.rpm和anonftp-4.0-9.i386.rpm这两个包# …

mongdb2008puls4.0.3安装_Mathematica 10.3安装教程

软件下载[软件名称]:Mathematica v10.3[软件语言]:简体中文 [软件大小]:2.26G[安装环境]:Win10/Win8/Win7[下载链接]:https://pan.baidu.com/s/1fDUUrR-W8IIj8Dem3YZMrQ[提取码]&…

开发web应用,用前端技术还是.NET?

选择使用前端技术还是.NET(后端)取决于您的项目需求、团队技能和其他因素。下面是一些考虑因素: 使用前端技术的情况: 1、交互性强的应用: 如果您的网站需要大量客户端交互、动画效果或实时更新,前端技术…

python接口 同花顺_利用python探索股票市场数据指南

虽然同花顺之类的金融理财应用的数据足够好了,但还是有自己定制的冲动, 数据自然不会不会比前者好很多,但是按照自己的想法来定制还是不错的。目标通过免费的数据接口获取数据,每日增量更新标的历史交易数据, 然后通过Kibana做可视化及数据分…

java ee是什么_死磕 java集合之HashSet源码分析

问题(1)集合(Collection)和集合(Set)有什么区别?(2)HashSet怎么保证添加元素不重复?(3)HashSet是否允许null元素?&#xf…

php获取ajax数组,从AJAX获取PHP中的JSON数组请求

如果可以的话,我会建议改变你正在jQuery的请求发送到以下方式:var h1 []h2 []h3 [],layout $("input[typeradio][namelayout_option]:checked").val();$("ul.widget-order[name1] li").each(function() { h1.push($(this).attr(…

ubuntu wifi固定ip_自制wifi遥控小车!ESP8266实践指南(二)

上次带大家利用ESP8266自制了wifi控制的LED点阵屏幕,大家觉得怎么样呢? 手把手教你用wifi控制显示屏!ESP8266实践指南(一)今天我们来做点更有意思的~ wifi遥控小车!一、所需材料ESP8266 NodeMCU开发板:这次我们使用CP2…

micopython 18b20_[MicroPython]stm32f407控制DS18B20检测温度

1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法。 2. 进一步学习编制数据输出程序的设计方法。 3. 学习DS18B20的接线方法,并利用DS18B20检测当前温度。 2.所需元器件 F407Micropython开发板1块 数据线1条 DS18b20温度传感器1个 DS18B20测温模块(不含DS18B2…