example实例解析
mybatis的逆向工程中会生成实例及实例对应的example,example用于添加条件,相当where后面的部分

Example example = new Example(数据库表 对应的实体类.class);

Criteria criteria = example.createCriteria();

方法 说明

方法 说明
example.setOrderByClause (“字段名 ASC”); 添加升序排列条件,DESC为降序
example.setDistinct(false) 去除重复,boolean型,true为选择不重复的记录。
criteria.andIsNull 添加字段为null的条件
criteria.andIsNotNull 添加字段不为null的条件
criteria.andEqualTo(key,value) 添加字段等于value条件
criteria.andGreaterThan(value) 添加字段大于value条件
criteria.andGreaterThanOrEqualTo(value) 添加字段大于等于value条件
criteria.andLessThan(value) 添加字段小于value条件
criteria.andLessThanOrEqualTo(value) (“字段名 ASC”); 添加字段小于等于value条件
criteria.andIn(List<?>) 添加字段值在List<?>条件
criteria.andNotIn(List<?>) 添加字段值不在List<?>条件
criteria.andLike(key , “%”+value+”%”) 添加字段值为value的模糊查询条件
criteria.andNotLike(key,“%”+value+”%”) 添加字段值不为value的模糊查询条件
criteria.andBetween(value1,value2) 添加字段值在value1和value2之间条件
criteria.andNotBetween(value1,value2) 添加字段值不在value1和value2之间条件

三、应用举例
1.查询
① selectByPrimaryKey()

User user = XxxMapper.selectByPrimaryKey(100); //相当于select * from user where id = 100

② selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample(User.class);
Criteria criteria = example.createCriteria();
criteria.andEqualTo("age",age);
criteria.andIsNull();
example.setOrderByClause("username asc,email desc");
List<?>list = XxxMapper.selectByExample(example);

//相当于:select * from user where username = ‘wyw’ and username is null order by username asc,email desc

注:在iBator逆向工程生成的文件Example.java中包含一个static的内部类Criteria,Criteria中的方法是定义SQL 语句where后的查询条件。

2.插入数据
①insert()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("admin");
user.setPassword("admin")
user.setEmail("wyw@163.com");
XxxMapper.insert(user);

//相当于:insert into user(ID,username,password,email) values (‘dsfgsdfgdsfgds’,‘admin’,‘admin’,‘wyw@126.com’);

3.更新数据
①updateByPrimaryKey()

User user =new User(); user.setId("dsfgsdfgdsfgds"); user.setUsername("wyw"); user.setPassword("wyw"); user.setEmail("wyw@163.com"); XxxMapper.updateByPrimaryKey(user); //相当于:update user set username='wyw', password='wyw', email='wyw@163.com' where id='dsfgsdfgdsfgds'

②updateByPrimaryKeySelective()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setPassword("wyw");
XxxMapper.updateByPrimaryKey(user);

//相当于:update user set password=‘wyw’ where id=‘dsfgsdfgdsfgds’

③ updateByExample() 和 updateByExampleSelective()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andEqualTo("userName","admin");
User user = new User();
user.setPassword("wyw");
Mapper.updateByPrimaryKeySelective(user,example);

//相当于:update user set password=‘wyw’ where username=‘admin’

updateByExample()更新所有的字段,包括字段为null的也更新,建议使用 updateByExampleSelective()更新想更新的字段

4.删除数据
①deleteByPrimaryKey()

XxxMapper.deleteByPrimaryKey(1);  //相当于:delete from user where id=1

②deleteByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andEqualTo("userName","admin");
XxxMapper.deleteByExample(example);
//相当于:delete from user where username='admin'

5.查询数据数量
①countByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andEqualTo("passWord","wyw");
int count = XxxMapper.countByExample(example);

//相当于:select count(*) from user where username=‘wyw’

Example.Criteria相关推荐

  1. WARNING:tensorflow:Layer gru will not use cuDNN kernels since it doesn‘t meet the criteria. It will

    WARNING:tensorflow:Layer gru will not use cuDNN kernels since it doesn't meet the criteria. It will ...

  2. criteria创建criteria 左连接 再 添加 add example,报错 ClassCastException:

    使用hibernate的criteria做关联查询,指定连接方式(左连接\右连接)来创建criteria2,先关联对象(tblMember) Criteria criteria2 = criteria ...

  3. Feature Selection Based on Mutual Information:Criteria of Max-Dependency, Max-Relevance,and Min-Redu

    Feature Selection Based on Mutual Information:Criteria of Max-Dependency, Max-Relevance,and Min-Redu ...

  4. Hibernate的DetachedCriteria使用(含Criteria)

    1.背景了解:Hibernate的三种查询方式 Hibernate总的来说共有三种查询方式:HQL.QBC和SQL三种,这里做简单的概念介绍,不详细进行展开. 1.1 HQL(Hibernate Qu ...

  5. hibernate中criteria的一些用法

    最近在项目中使用 Spring 和 Hibernate 进行开发,有感于 Criteria 比较好用,在查询方法 设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 ...

  6. 【Java Web开发指南】mybatis的Example[Criteria]的使用

    Criteria英文是标准.条件和准则的意思 **在使用常规的mybatis时,我们经常碰到的问题就是条件式查询.在一个查询界面,查询条件较多,并且运算符并不总是=时,在后台就需要拼装sql语句.** ...

  7. java+criteriaquery_Hibernate动态条件查询(Criteria Query)

    1.创建一个Criteria实例 net.sf.hibernate.Criteria这个接口代表对一个特定的持久化类的查询.Session是用来制造Criteria实例的工厂. Criteria cr ...

  8. nhibernate入门系列: 使用Criteria载入对象

    nh会话提供一种使用表达式(就像SQL语句的where表达式)来载入数据的方法, 以取得满足条件的对象集合. 通过CreateCriteria方法, 可以取得一个ICriteria接口, 这个接口用于 ...

  9. (详细)Hibernate查询技术(Query、Session、Criteria),Hibernate的三种状态,Hibernate集合struts2实现登录功能(二)

    一.Hibernate的三种查询方式(掌握) Hibernate中提供了三种查询方式: 1)Session的查询:按主键查询查询,方法为get或load 2)Query的查询:使用HQL语句或SQL语 ...

  10. 转:Hibernate中Criteria和DetachedCriteria的完整用法

    原文地址:http://blog.sina.com.cn/s/blog_667528fd0100rkrf.html 设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 H ...

最新文章

  1. java分解因式_用JAVA因式分解 并以9=3×3格式输出
  2. 解释ROM、RAM、SRAM、DRAM与FLASH在使用上的区别及其原因
  3. 【Floyed】工厂的烦恼(ssl 1762)
  4. 设计模式-发布订阅模式
  5. 我和 Spring 大神的一天
  6. VAE【keras实现】
  7. 数仓数据分层(ODS DWD DWS ADS)
  8. Python selenium 延时的几种方法
  9. [No000057]一个人默默背单词,小心被传染哦
  10. python之花瓣美女下载
  11. Vs2010 破解 序列号
  12. 【捣鼓】TypeError: “x” is not a constructor
  13. 小学信息技术 用计算机画画 教学目标,三年级下册信息技术教学计划4篇
  14. Debian10.9离线安装gcc(附离线包地址)
  15. Gitee上传代码保姆级教程(亲测有效)
  16. Android 地图导航调用百度地图、高德地图、腾讯地图,腾讯T3团队整理
  17. LA/NMP架构的介绍
  18. 量子通信借助计算机,量子通信再获重大进展!竟然是降噪耳机带来了启发
  19. 快手2019秋季校园招聘算法笔试B卷编程题 - 题解
  20. Oracle,UGA用户全局区域

热门文章

  1. 动态规划实现最优二叉树
  2. truncate分区表的操作,会导致全局索引失效?
  3. vue组件间常用的几种通信方式
  4. Java初学之标识符
  5. iPhone14p有4个看不见的升级点
  6. 线上投票活动怎么设置怎样设置投票怎样设置投票页面
  7. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的
  8. 网贷行业进入关键期,真正的分水岭正在显现 | 一点财经
  9. 服务器出租虚拟机系统,vm虚拟机能出租吗
  10. 谈一谈关于Combox中当SelectedIndex=“0“ 无效的问题