mybatis的example
每个po类都有一个类,就是xxxExample.java,这个类是给用户自定义sql使用的,
主要是对各种不同的条件来操作数据库
example类与实体类对应,用作动态查询example类与实体类对应,用作动态查询
example类与实体类对应,用作动态查询
Criterion
Criterion是最基本,最底层的Where条件,用于字段级的筛选
Criteria
Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。
oredCriteria
Example内有一个成员叫oredCriteria,是Criteria的集合,就想其名字所预示的一样,这个集合中的Criteria是由OR连接的,是逻辑或关系。oredCriteria就是ORed Criteria。
Mybatis逆向工程会生成实例及实例对应的example(用于添加条件,相当于where后的部分)
xxxExample example = new xxxExample();
Criteria criteria = example.createCriteria();
方法说明:
// 1.添加升序排列条件,DESC为降序
example.setOrderByClause("字段名ASC")
// 2.去除重复,boolean类型,true为选择不重复的记录
example.setDistinct(false)
// 3.添加字段xxx为null的条件
criteria.andXxxIsNull
// 4.添加字段xxx不为null的条件
criteria.andXxxIsNotNull
// 5.添加xxx字段等于value条件
criteria.andXxxEqualTo(value)
// 6.添加xxx字段不等于value条件
criteria.andXxxNotEqualTo(value)
// 7.添加xxx字段大于value条件
criteria.andXxxGreaterThan(value)
// 8.添加xxx字段大于等于value条件
criteria.andXxxGreaterThanOrEqualTo(value)
// 9.添加xxx字段小于value条件
criteria.andXxxLessThan(value)
// 10.添加xxx字段小于等于value条件
criteria.andXxxLessThanOrEqualTo(value)
// 11.添加xxx字段值在List
criteria.andXxxIn(List)
// 12.不添加xxx字段值在List
criteria.andXxxNotIn(List)
// 13.添加xxx字段值在之间
criteria.andXxxBetween(value1,value2)
@Overridepublic boolean delCategory(Long id) {TbCategoryExample example = new TbCategoryExample();Criteria criteria = example.createCriteria();criteria.andIdEqualTo(id);return categoryMapper.deleteByExample(example) > 0 ? true : false;}
@TestpublicvoidtestFindUserByName(){
//通过criteria构造查询条件
UserExample userExample =new UserExample();
userExample.setOrderByClause("username asc");//asc升序,desc降序排列
userExample.setDistinct(false);//去除重复,true是选择不重复记录,false反之
UserExample.Criteria criteria = userExample.createCriteria();//构造自定义查询条件
criteria.andUsernameEqualTo("张三");//自定义查询条件可能返回多条记录,使用List接收
List<User> users = userMapper.selectByExample(userExample); System.out.println(users); }
mybatis的example相关推荐
- mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...
- MyBatis的插入后获得主键的方式
需求: 使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法: 在mapper中指定keyProperty属性,示例如下: <insert id=" ...
- mybatis使用注解开发
mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...
- mybatis ResultMap
ResultMap 解决属性名和字段的名称不一致的问题. 查询为null的问题 创建java实体类: public class User {private int id; //idprivate St ...
- mybatis配置文件解析
mybatis配置文件解析 mybatis核心配置文件`mybatis-config.xml文件. mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息. 能配置的内容: con ...
- mybatis CRUD操作
mybatis CRUD操作 select select标签是mybatis最常用的标签之一. select语句有很多属性可以详细的配置每一天sql语句. id 命名空间唯一的标识. 接口中的方法名与 ...
- java mybatis基础
java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...
- mybatis的资源过滤错误及xml文件编码错误
mybatis 解决maven项目内资源过滤的问题 写的配置文件无法被导出或者生效的问题. 解决方案: <build><resources><resource>&l ...
- Mybatis传递多个参数的4种方式
现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. ...
- SpringBoot (五) :SpringBoot整合mybatis
说在前面 mybatis刚开始使用的时候比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.初期开发了generator可以根据表结果自动生产实体类.配置文件和dao层代码,可以 ...
最新文章
- 【BZOJ3963】[WF2011]MachineWorks cdq分治+斜率优化
- java 线程的函数_Java线程总结
- 分治最小割 学习总结
- vmware, failed to lock the file 的解决
- 计算机与操作系统简介
- 1024程序猿节:致敬改变世界的你
- HTTP之长连接与短连接(C++ Qt框架实现)
- ubuntu 12.04安装与配置
- 【华为云技术分享】【DevCloud · 敏捷智库】如何避免重要需求遗漏?
- android Sharedpreferences数据存储使用方法
- shell 单词末尾家字符_58、最后一个单词的长度
- 小七揭密delphi源码免杀系列教程
- java beanshell_jmeter进阶之Beanshell引用Java代码
- 世界上主流的导航电子地图数据标准/格式
- 硬盘的修复(三)恢复删除文件
- 富爸爸穷爸爸的所有书籍
- mysql 分离和附加数据库_分离数据库和附加数据库有什么区别
- 合同管理模块样板html,可配置合同模板的合同管理系统的制作方法
- java:io的基本实例
- 2018蓝桥模拟赛 天上的星星