每个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相关推荐

  1. mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string

    mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...

  2. MyBatis的插入后获得主键的方式

    需求: 使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法: 在mapper中指定keyProperty属性,示例如下: <insert id=" ...

  3. mybatis使用注解开发

    mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...

  4. mybatis ResultMap

    ResultMap 解决属性名和字段的名称不一致的问题. 查询为null的问题 创建java实体类: public class User {private int id; //idprivate St ...

  5. mybatis配置文件解析

    mybatis配置文件解析 mybatis核心配置文件`mybatis-config.xml文件. mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息. 能配置的内容: con ...

  6. mybatis CRUD操作

    mybatis CRUD操作 select select标签是mybatis最常用的标签之一. select语句有很多属性可以详细的配置每一天sql语句. id 命名空间唯一的标识. 接口中的方法名与 ...

  7. java mybatis基础

    java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...

  8. mybatis的资源过滤错误及xml文件编码错误

    mybatis 解决maven项目内资源过滤的问题 写的配置文件无法被导出或者生效的问题. 解决方案: <build><resources><resource>&l ...

  9. Mybatis传递多个参数的4种方式

    现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. ...

  10. SpringBoot (五) :SpringBoot整合mybatis

    说在前面 mybatis刚开始使用的时候比较麻烦,需要各种配置文件.实体类.dao层映射关联.还有一大推其它配置.初期开发了generator可以根据表结果自动生产实体类.配置文件和dao层代码,可以 ...

最新文章

  1. 【BZOJ3963】[WF2011]MachineWorks cdq分治+斜率优化
  2. java 线程的函数_Java线程总结
  3. 分治最小割 学习总结
  4. vmware, failed to lock the file 的解决
  5. 计算机与操作系统简介
  6. 1024程序猿节:致敬改变世界的你
  7. HTTP之长连接与短连接(C++ Qt框架实现)
  8. ubuntu 12.04安装与配置
  9. 【华为云技术分享】【DevCloud · 敏捷智库】如何避免重要需求遗漏?
  10. android Sharedpreferences数据存储使用方法
  11. shell 单词末尾家字符_58、最后一个单词的长度
  12. 小七揭密delphi源码免杀系列教程
  13. java beanshell_jmeter进阶之Beanshell引用Java代码
  14. 世界上主流的导航电子地图数据标准/格式
  15. 硬盘的修复(三)恢复删除文件
  16. 富爸爸穷爸爸的所有书籍
  17. mysql 分离和附加数据库_分离数据库和附加数据库有什么区别
  18. 合同管理模块样板html,可配置合同模板的合同管理系统的制作方法
  19. java:io的基本实例
  20. 2018蓝桥模拟赛 天上的星星

热门文章

  1. day08学习 Python文件函数、CSV文件读写
  2. 数据库系统概论(王珊,萨师煊版)范式之前要点一览(简略)
  3. [转载] 深入理解Android系统网络架构
  4. 使用terminalizer工具录制终端生成GIF动画
  5. 29 架构师领导艺术
  6. 开源机器人库orocos KDL 学习笔记(五):Inverse Kinematric
  7. SSM框架学习(一)————SSM框架简介
  8. linux终端常用指令
  9. Bitmap图片压缩,大图加载防止OOM
  10. “芬香”获上亿融资,店宝宝:别低估私域流量的作用