MyBatis Generator产生的Example类
2015-09-10 16:10
344 查看
Example类用于构造复杂的筛选条件。
基本概念Criterion
Criterion是最基本,最底层的Where条件,用于字段级的筛选,feild用于指代字段名字,列举如下:
只有一个条件,不需要其他参考值
feild IS NOLL
feild IS NOT NULL
与一个参考值进行算数运算
feild > value
feild >= value
feild = value
feild <> value
feild <= value
feild < value
与一个参考值进行模糊查询,参值中的%,?只能在构造查询条件时手动指定。
feild LIKE value
feild NOT LIKE value
介于两个参考值之间
feild BETWEEN value AND secondValue
在或不在一个参考值集合中,item来自于value集合
feild IN (item,item,item,...)
feild NOT IN (item,item,item,...)
MyBatis Generator会为每个字段产生如上的Criterion,如果表的字段比较多,产生的Example类会十分庞大。理论上通过Example类可以构造你想到的任何筛选条件。
Criteria
Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。
oredCriteria
Example内有一个成员叫oredCriteria,是Criteria的集合,就想其名字所预示的一样,这个集合中的Criteria是由OR连接的,是逻辑或关系。oredCriteria就是ORed Criteria。
用法
示例来自官方文档。
产生的动态SQL是这样的:
where (field1 = 5 and field2 is null) or (field3 <> 9 and field4 is not null) or (field5 in (8, 11, 14, 22)) or (field6 between 3 and 7)
其他
Example类的distinct字段用于指定DISTINCT查询。
orderByClause字段用于指定ORDER BY条件,这个条件没有构造方法,直接通过传递字符串值指定。
相关文章推荐
- Ubuntu下启用FrameBuffer模块
- 无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动
- 快速平方根算法的javascript实现
- 笔记02
- sql优化《从thinkphp文档里转载过来的》
- LeetCode199——Binary Tree Right Side View
- java动态代理(JDK和cglib)
- FATFS支持英文长文件名
- ubuntu下u盘变只读(转)
- android中shape文件详解
- 装好Oracle后打开sqlplus权限不足:cannot restore segment prot after reloc: Permission denied
- Java: 动手写一个简单的线程池
- [学习笔记]批次需求计划系统-简要
- JavaScript设计模式——前奏(封装和信息隐藏)
- 使用 VisualVM 进行性能分析及调优
- 自信是成功的第一秘诀
- asp.net文件上传解决方案(图片上传、单文件上传、多文件上传、检查文件类型)
- ImageView的属性android:scaleType作用
- 微信开发笔记之-用户绑定
- jquery ui各种验证代码