博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis plus条件构造器
阅读量:6948 次
发布时间:2019-06-27

本文共 1675 字,大约阅读时间需要 5 分钟。

实体包装器,用于处理 sql 拼接,排序,实体参数查询

进行详细拼接解析:

拼接 sql 方式 一
@Test
public void testTSQL11() {
/*
* 实体带查询使用方法 输出看结果
*/
EntityWrapper<User> ew = new EntityWrapper<User>();
ew.setEntity(new User(1));
ew.where("user_name={0}", "'zhangsan'").and("id=1")
.orNew("user_status={0}", "0").or("status=1")
.notLike("user_nickname", "notvalue")
.andNew("new=xx").like("hhh", "ddd")
.andNew("pwd=11").isNotNull("n1,n2").isNull("n3")
.groupBy("x1").groupBy("x2,x3")
.having("x1=11").having("x3=433")
.orderBy("dd").orderBy("d1,d2");
System.out.println(ew.getSqlSegment());
}
拼接 sql 方式 二
int buyCount = selectCount(Condition.create()
.setSqlSelect("sum(quantity)")
.isNull("order_id")
.eq("user_id", 1)
.eq("type", 1)
.in("status", new Integer[]{0, 1})
.eq("product_id", 1)
.between("created_time", startDate, currentDate)
.eq("weal", 1));
自定义 SQL 方法如何使用 Wrapper
mapper java 接口方法
List<User> selectMyPage(RowBounds rowBounds, @Param("ew") Wrapper<T> wrapper);
mapper xml 定义
<select id="selectMyPage" resultType="User">
SELECT * FROM user
<where>
${ew.sqlSegment}
</where>
</select>

常用词解释:
where WHERE 语句,拼接 + WHERE 条件
and AND 语句,拼接 + AND 字段=值
andNew AND 语句,拼接 + AND (字段=值) (新的括号)
or OR 语句,拼接 + OR 字段=值
orNew OR 语句,拼接 + OR (字段=值)
eq 等于=
allEq 基于 map 内容等于=
ne 不等于<>
gt 大于>
ge 大于等于>=
lt 小于<
le 小于等于<=
like 模糊查询 LIKE
notLike 模糊查询 NOT LIKE
in IN 查询
notIn NOT IN 查询
isNull NULL 值查询
isNotNull IS NOT NULL
groupBy 分组 GROUP BY
having HAVING 关键词
orderBy 排序 ORDER BY
orderAsc ASC 排序 ORDER BY
orderDesc DESC 排序 ORDER BY
exists EXISTS 条件语句
notExists NOT EXISTS 条件语句
between BETWEEN 条件语句
notBetween NOT BETWEEN 条件语句
addFilter 自由拼接 SQL
last 拼接在最后,例如:last("LIMIT 1")

转载于:https://www.cnblogs.com/yuansai/p/10108050.html

你可能感兴趣的文章
leetcode495
查看>>
用分解的方式学算法002——插入排序
查看>>
剑指Offer 16 数值的整数次方
查看>>
Intent 调用系统中经常用到的组件
查看>>
011PHP基础知识——运算符(四)
查看>>
SpringBoot集成WebSocket【基于STOMP协议】进行点对点[一对一]和广播[一对多]实时推送...
查看>>
20060308: WOW角色不见了
查看>>
iOS 横屏模态进入下一级界面, 竖屏退出
查看>>
乱搞-模拟退火
查看>>
AC日记——滑动窗口 洛谷 P1886
查看>>
Android监听手机网络变化
查看>>
ES6基础-解构赋值
查看>>
html转义字符
查看>>
C++ 简单的日志类
查看>>
Linux /proc目录详解
查看>>
VirtualBox不显示64bit版本的iso
查看>>
架构阅读笔记15
查看>>
关于setInterval
查看>>
Java学习之路(一)
查看>>
vim缩进
查看>>