一、example类干什么用的?
理论上通过example类可以构造你想到的任何筛选条件。
例子是展示此类用法的最好方式.
Example类可以用来生成一个几乎无限的where子句.
可以让你不用再mybatis里写一大堆l文件
注:在使用example类前 先学下MBG配置(Mybatis-Generator) /
我使用的是Maven项目,所以导入Mapper的Maven依赖
二、了解example成员变量
(greater than) - 指相关的列必须大于方法参数中的值
= (greater than or equal) - 指相关的列必须大于等于方法参数中的值
< (less than) - 指相关的列必须小于于方法参数中的值
<= (less than or equal) - 指相关的列必须小于等于方法参数中的值
LIKE - 指相关的列必须 “like” 方法参数中的值. 这个方法不用必须加入 ‘%’, 您必须设置方法参数中的值.
NOT LIKE - 指相关的列必须 “not like” 方法参数中的值. 这个方法不用必须加入 ‘%’, 您必须设置方法参数中的值.
BETWEEN - 指相关的列必须在 “between” 方法参数中的两个值之间.
NOT BETWEEN - 指相关的列必须不在 “not between” 方法参数中的两个值之间.
IN - 指相关的列必须在传入的方法参数的list中.
NOT IN - 指相关的列必须不在传入的方法参数的list中.
Example example = new Example(user.class);
for(int i=0;i < 10;i++) {
ateCriteria().andEqualTo("roleCode",RoleCode)
.andNotIn("status",Arrays.asList("0","1")) //注意用的是类中的属性,不是数据库中的属性
.andCondition("(FLAG <> '0' OR FLAG IS NULL)")
.andCondition("(role_nodecode is null or role_nodecode ='"NextRoleNodeCode+"')");
example.selectProperties("serialNo", "roleCode", "employeeCode", "roleNodeCode");
example.setDistinct(true); // 去除重复,boolean型,true为选择不重复的记录。
derBy("serialNo"); // 对应实体类中属性名
example.setOrderByClause("SERIAL_NO desc"); // 对应表结构字段名称
// 排序另外写法
derBy("serialNo").asc().orderBy("employeeCode").asc();
List<AfwFlowDtl> afwFlowDtlList = afwFlowDtlMapper.selectList(example);
example.clear();// 把条件清空,可以循环使用,嵌套在for循环里面使用
}
注:
这里面有一个坑,就是.andCondition("(role_nodecode is null or role_nodecode ='"NextRoleNodeCode+"')");
若是和面的参数role_nodecode是字符串类型,对应的value值 要加' '
本文发布于:2024-01-28 23:57:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170645742411229.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |