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。
用法
示例来自官方文档。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
TestTableExample example = new TestTableExample();
example.or()
.andField1EqualTo( 5 )
.andField2IsNull();
example.or()
.andField3NotEqualTo( 9 )
.andField4IsNotNull();
List<Integer> field5Values = new ArrayList<Integer>();
field5Values.add( 8 );
field5Values.add( 11 );
field5Values.add( 14 );
field5Values.add( 22 );
example.or()
.andField5In(field5Values);
example.or()
.andField6Between( 3 , 7 );
|
or()方法会产生一个新的Criteria对象,添加到oredCriteria中,并返回这个Criteria对象,从而可以链式表达,为其添加Criterion。
产生的动态SQL是这样的:
1
2
3
4
|
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条件,这个条件没有构造方法,直接通过传递字符串值指定。
相关推荐
MybatisGenerator本身是没有提供查询指定字段的,例如数据库有5个字段,我想查询其中3个字段的全部记录,这是做不到的。经过研究MybatisGenerator实现原理,在保证原有功能的基础上,实现了生成查询指定字段的相关...
Mybatis Generator 根据数据库自动生成相关对象及接口,默认不支持分页功能,通过plugin得以实现,使用方式,在generatorconfig.xml里引用即可: <context id="MysqlContext" targetRuntime="MyBatis3" ...
myeclipse 2013 插件MyBatis Generator 1.3.2生成的代码缺少分页,使用麻烦。修改了源码org.mybatis.generator.core_1.3.2.201207161521.jar包,增加了PaginationPlugin和SelectOneByExamplePlugin两个扩展插件。...
mybatis-generator-gui-extension是一个为MybatisGenerator编写的图形化界面,为实体/Example/Mapper提供了丰富的扩展。文件内提供了windows批处理等文件,一键运行此代码生成器;并且图形化的操作方式,提高了开发...
## Mybatis Generator配置详解 一、简介 mybatis-geneator是一款mybatis自动代码生成工具,可以通过配置,快速生成mapper和xml文件。 二、配置方法 在项目的pom文件中添加插件配置 ```java <groupId>org....
go-mybatis-generator Introduction ..../go-mybatis-generator -host localhost -username root -password root -dbname db #默认生成元数据到template/example.json文件中 Getting Started cd 生
java代码自动生成工具 mybatisGenerator 适配MySQL Oracle 代码生成器,在原有mybatis生成器基础上面扩展。除了生成entity,example,mapper外,额外生成controller,service,impl等。如果生成过程有问题,联系QQ:...
本工具基于mybatis-generator-1.3.2进行修改,修改内容如下: 1、增加Dao配套的Service接口和实现类。 2、去掉Example相关的类,只保留基础的增删改查方法个代码,减少代码量更清爽。 3、常用配置项外置到config....
mybatis的代码逆向生成工具,经过我的修改,可以生成实体类带注释的、带和不带Example类的自动代码生成工具,非常简单,可以任意组合使用,支持多中数据库。
mybatis 工具,这个包里面是一个完整的项目,导入执行 MainUI 类即可使用,点击数据库连接,配置 IP、端口、用户名和密码连接,接下来只要选择表配置好路径就可以生成代码了
这是一个mybatis逆向工程,配置好之后,执行命令,就能生成model dao example
mybatis-generator-gui-extension是一个为MybatisGenerator编写的图形化界面,为实体/Example/Mapper提供了丰富的扩展。 功能清单 文件合并:在重新生成代码时,将保留没有添加@mbg.generated注释的字段/方法/SQL...
后端拿到请求参数需要进行sql语句拼接,由于mybatis-generator的example类存在较多问题,对其进行改进: 1.实现生成的example文件代码量大量减少 2.保证业务代码中不出现sql语句 3.可以生成嵌套的or条件语句 4....
sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名非常重要,你在 具体的类的映射中,比如User...
mybatis-1-3-7自动生成工具修改版源码--maven项目 1、实体类添加注释。 2、mapper.xml去掉jdbcType类型...考虑是否生成Example类,与单个主键的情况。复合主键采用原模式 5、搭建的1.3.7源码maven项目。可直接运行。
一款mybatis基本CRUD从java代码...根据步骤1生成实体包路径,并放入实体类文件,比如com/zheng/example/domain/User.java打包整个项目mybatis-freemarker-generator运行Application.java中的main方法即可目标文件位置最
mybatis-generator生成代码隔离演示#为什么要用它1.自定义代码与自动生成的代码隔离,方便维护(特别是增删表字段的时候)2.自动生成的代码不需要再受版本控制(如果编译后的代码也要受版本控制,那要让mybatis-...
MyBatis-Plus-Example Spring Boot 整合 MyBatis Plus 实例,持续更新!!! 代码生成器 三方框架版本总览 名称 版本 更新时间 Spring Boot 2.4.2 2021.02.02 MyBatis-Plus 3.4.2 2021.02.02 JavaLib 3.4.2 2021.02....
example模块是使用样例参考,extend模块是扩展源码,可直接复制到项目中以模块安装方式使用,也可打成jar包约会使用 2.功能 自动生成实体 自动生成Dao,xxxDao.xml,可自定义sql 自定义Jdbc类型到java类型映射 实体...
springboot2.1.7集成Mybatis插件—通用Mapper 本项目主要以集成tk.mybatis.mapper插件为主。...3、SpringBoot集成MyBatis Generator插件自动生成代码 4、SpringBoot集成通用Mapper插件,从数据库查询数据返回到页面