一、mapper接口中的方法解析

mapper接口中的函数及方法

方法功能说明

int countByExample(UserExample example) thorws SQLException按条件计数

int deleteByPrimaryKey(Integer id) thorws SQLException按主键删除

int deleteByExample(UserExample example) thorws SQLException按条件查询

String/Integer insert(User record) thorws SQLException插入数据(返回值为ID)

User selectByPrimaryKey(Integer id) thorws SQLException按主键查询

ListselectByExample(UserExample example) thorws SQLException按条件查询

ListselectByExampleWithBLOGs(UserExample example) thorws SQLException按条件查询(包括BLOB字段)。只有当数据表中的字段类型有为二进制的才会产生。

int updateByPrimaryKey(User record) thorws SQLException按主键更新

int updateByPrimaryKeySelective(User record) thorws SQLException按主键更新值不为null的字段

int updateByExample(User record, UserExample example) thorws SQLException按条件更新

int updateByExampleSelective(User record, UserExample example) thorws SQLException按条件更新值不为null的字段

二、example实例解析

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

xxxExample example = new xxxExample();

Criteria criteria = new Example().createCriteria();

方法说明

example.setOrderByClause(“字段名 ASC”);添加升序排列条件,DESC为降序

example.setDistinct(false)去除重复,boolean型,true为选择不重复的记录。

criteria.andXxxIsNull添加字段xxx为null的条件

criteria.andXxxIsNotNull添加字段xxx不为null的条件

criteria.andXxxEqualTo(value)添加xxx字段等于value条件

criteria.andXxxNotEqualTo(value)添加xxx字段不等于value条件

criteria.andXxxGreaterThan(value)添加xxx字段大于value条件

criteria.andXxxGreaterThanOrEqualTo(value)添加xxx字段大于等于value条件

criteria.andXxxLessThan(value)添加xxx字段小于value条件

criteria.andXxxLessThanOrEqualTo(value)添加xxx字段小于等于value条件

criteria.andXxxIn(List)添加xxx字段值在List条件

criteria.andXxxNotIn(List)添加xxx字段值不在List条件

criteria.andXxxLike(“%”+value+”%”)添加xxx字段值为value的模糊查询条件

criteria.andXxxNotLike(“%”+value+”%”)添加xxx字段值不为value的模糊查询条件

criteria.andXxxBetween(value1,value2)添加xxx字段值在value1和value2之间条件

criteria.andXxxNotBetween(value1,value2)添加xxx字段值不在value1和value2之间条件

三、应用举例

1.查询

① selectByPrimaryKey()

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

② selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample();

Criteria criteria = example.createCriteria();

criteria.andUsernameEqualTo("wyw");

criteria.andUsernameIsNull();

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逆向工程生成的文件XxxExample.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.andUsernameEqualTo("admin");

User user = new User();

user.setPassword("wyw");

XxxMapper.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.andUsernameEqualTo("admin");

XxxMapper.deleteByExample(example);

//相当于:delete from user where username='admin'

5.查询数据数量

①countByExample()

UserExample example = new UserExample();

Criteria criteria = example.createCriteria();

criteria.andUsernameEqualTo("wyw");

int count = XxxMapper.countByExample(example);

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

java中example函数作用,MyBatis逆向工程中的Mapper接口以及Example的实例函数及详解...相关推荐

  1. mybatis接口中的方法重载_MyBatis的Mapper接口以及Example的实例函数及详解

    一.mapper接口中的方法解析 mapper接口中的函数及方法 方法 功能说明 int countByExample(UserExample example) thorws SQLException ...

  2. java中example函数作用_MyBatis逆向工程中的Mapper接口以及Example的实例函数及详解...

    一.mapper接口中的方法解析 mapper接口中的函数及方法 方法功能说明 int countByExample(UserExample example) thorws SQLException按 ...

  3. java中example函数作用_mybatis mapper学习4-MyBatis的Mapper接口以及Example的实例函数及详解...

    mybatis能够自动生成sql语句,也能够添加自定义sql语句 使用mybatis generator生成XX.java,XXExample.java,XXmapper.java,XXmapper. ...

  4. MyBatis的Mapper接口以及Example的实例函数及详解

    一.mapper接口中的方法解析 mapper接口中的函数及方法 方法 功能说明 int countByExample(UserExample example) thorws SQLException ...

  5. mysql5.7.11 linux_CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解...

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  6. html中的空格符号( nbsp; ensp; emsp; )介绍以及中文对齐实现的方法详解

    一:不同空格符合的区别   半角的不断行的空白格(推荐使用)   半角的空格   全角的空格 详细的含义:  :这是我们使用最多的空格,也就是按下space键产生的空格.在HTML中,如果你用空格键产 ...

  7. java编程50实例_java编程实例大全及详解谜底(50例).doc

    java编程实例大全及详解谜底(50例).doc 还剩 33页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 谓 ...

  8. Java IDEA Debug模式下断点回退(一键回退到上一个断点前方)操作方法详解

    @Java IDEA Debug模式下断点回退(一键回退到上一个断点前方)操作方法详解 1.请求进入第一个断点: 2.请求进入第二个断点: 3.回退断点(回到上一个断点之前,图1,图2共两种操作方法) ...

  9. python中run函数作用_python3多线程中如何改写run()函数?

    我们对于函数的使用一般是直接根据其作用进行举例讲解,最近偶然的一次多线程的代码练习中,让小编发现在构建多线程的时候,我们也可以对函数进行重写.小编马上进行了这个函数内容的整理,为了让大家能理解前后的内 ...

  10. 报头中的偏移量作用_C语言中函数的实现

    符号表 C编译器使用符号表来记录程序中遇到的变量,类似汇编器中的label表,不过C编译器中的符号表包括更多信息:名字.类型.已分配的内存地址.变量申明域或作用域等 e.g 程序中有6个变量声明,编译 ...

最新文章

  1. 知乎高赞:字节总监的开发手记!
  2. 【模型解读】深度学习网络之Siamese Network网络
  3. 容器化实践金融业案例一
  4. FIR数字滤波器设计_窗函数法
  5. Java数据库查询简介
  6. 菜鸟做HTML5小游戏 - 刮刮乐
  7. 关于计算机英语阅读,一篇摘选的关于计算机的英语阅读材料,对大家的英语也许会有提高!...
  8. 如何将本地代码推送至远程仓库
  9. 医疗小程序源码_不懂商城小程序源码,如何快速创建小程序商城?
  10. Python实例讲解 -- 认识wxpython 的 Frame
  11. 理论 | 分库分表需要考虑的问题及方案
  12. matplotlib fontdict 字体设置
  13. Oracle之触发器
  14. 教大家一个免费复制粘贴百度文库文字的方法
  15. 图论及其应用:第三次作业
  16. 微信小程序上传 分享发测试
  17. FYI | OHBM/Brain 会议投稿指北
  18. excel如何把多张表合并成一个表_如何快速把多个excel表合并成一个excel表?
  19. HAU寒假训练第一周
  20. 避免内容失去焦点_痛楚难以避免,而磨难可以选择

热门文章

  1. Python--Redis实战:第一章:初识Redis:第一节:Redis简介
  2. RxBinding系列之RxTextView(二)
  3. struts2文件上传,获取文件名和文件类型
  4. 百度官方wormHole后门检测记录(转)
  5. 【二分答案】【中位数】codeforces 394 bun
  6. cisco产品命名规则
  7. WebService 分布式事务怎么控制
  8. Ubuntu安装aptitude,来解决软件包依赖关系的问题
  9. php5.2 xampp,使用XAMPP,如何將PHP 5.3替換為PHP 5.2?
  10. 调用shell jenkins不能自动结束