没有合适的资源?快使用搜索试试~ 我知道了~
mybatis-plus QueryWrapper自定义查询条件的实现
5星 · 超过95%的资源 103 下载量 160 浏览量
2020-08-24
19:51:05
上传
评论 1
收藏 88KB PDF 举报
温馨提示
试读
4页
主要介绍了mybatis-plus QueryWrapper自定义查询条件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
资源推荐
资源详情
资源评论
mybatis-plus QueryWrapper自定义查询条件的实现自定义查询条件的实现
主要介绍了mybatis-plus QueryWrapper自定义查询条件的实现,文中通过示例代码介绍的非常详细,对大家的
学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
mybatis-plus框架功能很强大,把很多功能都集成了,比如自动生成代码结构,mybatis crud封装,分页,动态数据源等等,
附上官网链接https://mp.baomidou.com/,github上有代码例子,国内小伙伴推荐码云https://gitee.com/baomidou/mybatis-
plus。
但是,其中还是有些小坑,文档也没有涉及的很全面,碰到问题,百度或者发issue,能力强的还是直接看源码好,一切答案
都在源码中。
版本推荐用3.1.0,3.1.1及以上版本有bug,访问mapper接口的时候,会把数据库date类型转换为localDateTime,报错
java.sql.SQLFeatureNotSupportedException
解决方案可以参考 https://www.jb51.net/article/193995.htm
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
mybatis-plus里有个类QueryWrapper,封装sql对象,包括where条件,order by排序,select哪些字段等等。该类的具体用
法,网上教程很多。
这里有个需求,通过前端提交查询条件,后台动态拼接成where的sql语句,用于查询。常规做法是前端提交一堆查询参
数,controller层用一个对象接收,然后在mybatis的xml里对该对象里的各种属性做判断
<select id="test">
select * from test
<where>
<if test=" name != null and name != '' ">
and name=#{name}
</if>
...
</where>
</select>
这有个问题是具体字段连接类型就有很多,like,=,>,<等等。当然要实现功能有很多种方式,mybatis-plus的QueryWrapper很
强大,可以通过对象的方式进行查询操作,但是不同的页面都自己管自己,效率低下,会存在大量重复代码。所以我就想自己
封装一套,从前端的查询条件传固定格式的参数,到后台进行转换,自动拼接成对应的where sql语句,再传到mybatis xml里
进行动态查询。这样所有页面就可以统一,便于操作。下面进入正题:
前端前端
前端用的技术是html+jquery,jquery操作dom做各种操作。html就仅仅是样式展现,不涉及任何的逻辑代码,没有使用vue之
类的mvvm框架,也没有使用thymeleaf之类的模板引擎,其实这些都会在html嵌入污染代码,导致美工修改页面样式的时候一
脸蒙蔽。html就是纯的html+css,通过jquery来完成剩余的工作。
index.html
<form id="myform">
<input name="name"/>
<input name="age"/>
<input name="startdate"/>
<input name="enddate"/>
</form>
jquery发起post请求,拼接的参数如下:
var searchParam = [
{column: "COLUMN_NAME",type: "like", value: "tim"},
{column: "COLUMN_AGE",type: "eq", value: "22"},
{column: "COLUMN_DATE",type: "ge", value: "2019-08-16 00:00:00"},
{column: "COLUMN_DATE",type: "le", value: "2019-08-16 23:59:59"}
];
其中column值 为数据表的字段名;type值为sql字段拼接的方式,规则可自己定制;value就是字段值了;目标拼接成的sql语
句如下:
COLUMN_NAME like '%tim%' and COLUMN_AGE=22 and COLUMN_DATE>='2019-08-16 00:00:00' and COLUMN_DATE<='2019-08-16 23:59:59'
jquery发起post请求:
资源评论
- 不美的阿美2023-07-26这篇文件深入浅出地介绍了如何灵活运用QueryWrapper,对于想提升查询效率的开发者来说是一篇不可多得的好文。
- 熊比哒2023-07-26这篇文件内容扎实,能够帮助读者快速掌握mybatis-plus QueryWrapper的使用技巧。
- weixin_357804262023-07-26这篇文件对于学习mybatis-plus QueryWrapper自定义查询条件提供了很好的指导,内容详实,简而不繁。
- 亚赛大人2023-07-26作者在文件中提供了一些常见的使用案例,能够帮助读者更好地理解QueryWrapper的灵活性。
- love彤彤2023-07-26这个文件解释了如何使用QueryWrapper来实现自定义查询条件,对于初学者非常友好。
weixin_38720322
- 粉丝: 4
- 资源: 922
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- tensorflow-rocm-2.12.0.560-cp311-cp311-manylinux2014-x86-64.whl
- Windows操作系统中的CMD(命令提示符).md
- tensorflow-rocm-2.12.0.560-cp39-cp39-manylinux2014-x86-64.whl
- mmexport1713512496118.jpg
- 基于VB的俄罗斯方块系统设计与实现(源代码+参考文献).zip
- 软件测试开发工具大全资源包之Linux虚拟机
- python毕设-图片批量处理器
- 基于VB的教材管理系统设计(源代码+系统+报告+PPT).zip
- Lock接口与synchronized关键字
- 基于Java的图书馆自习室座位预约系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功