一、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()

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

1

② 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

1

2

3

4

5

6

7

注:在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');

1

2

3

4

5

6

7

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'

1

2

3

4

5

6

7

②updateByPrimaryKeySelective()

User user = new User();

user.setId("dsfgsdfgdsfgds");

user.setPassword("wyw");

XxxMapper.updateByPrimaryKey(user);

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

1

2

3

4

5

③ 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'

1

2

3

4

5

6

7

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

4.删除数据

①deleteByPrimaryKey()

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

1

②deleteByExample()

UserExample example = new UserExample();

Criteria criteria = example.createCriteria();

criteria.andUsernameEqualTo("admin");

XxxMapper.deleteByExample(example);

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

1

2

3

4

5

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'

MyBatis逆向工程中的Mapper接口以及Example的实例函数及详解

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

Mybatis-技术专区-Mapper接口以及Example的实例函数及详解

一.mapper接口中的方法解析 mapper接口中的函数及方法 int countByExample(UserExample example) thorws SQLException     按条件 ...

mybatis中的mapper接口文件以及example类的实例函数以及详解

##Example example = new ##Example(); example.setOrderByClause("字段名 ASC"); //升序排列,desc为降序排列 ...

Mybatis的逆向工程以及Example的实例函数及详解

Mybatis-generator是Mybatis的逆向工程  (根据数据库中的表生成java代码) Mybatis的逆向工程会生成实例及实例对应的example,example用于添加条件,相当于w ...

Mybatis的mapper文件中$和#的用法及区别详解

https://www.2cto.com/database/201806/752139.html用了一段时间的Mybatis了,对于$和#的用法老是很迷糊,特此记下加深记忆. 简单来说 #{} 会在将 ...

mybatis从mapper接口跳转到相应的xml文件的eclipse插件

mybatis从mapper接口跳转到相应的xml文件的eclipse插件 前提条件 开发软件 eclipse 使用框架 mybatis 为了方便阅读源码,项目使用mybatis的时候,方便从mapp ...

Mybatis的Mapper接口方法不能重载

今天给项目的数据字典查询添加通用方法,发现里边已经有了一个查询所有数据字典的方法 List selectDictList(); 但我想设置的方法是根据数据字典的code查询出所 ...

MyBatis 中 Mapper 接口的使用原理

MyBatis 中 Mapper 接口的使用原理 MyBatis 3 推荐使用 Mapper 接口的方式来执行 xml 配置中的 SQL,用起来很方便,也很灵活.在方便之余,想了解一下这是如何实现的, ...

随机推荐

JavaScript性能优化

如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...

opencv6.1-imgproc图像处理模块之平滑与形态学操作

这个部分是的部分,这部分也是几大部分中例子最多的,其实这个教程的例子都很不错,不过有些看得出来还是c接口的例子,说明例子有些年头了,其实在&qu ...

HttpWebRequest访问时,错误:(401)未经授权。

HttpWebRequest访问时,错误:(401)未经授权. 某网页,我不想做登录界面,直接使用域的帐号密码来访问.如果网站设置成Window身份验证,单独的页面都没问题,而是通过使用HttpWeb ...

ubuntu,kali linux和windows三系统流水账——写给自己

我先说一下ubuntu和windows双系统安装的几种方法,最后总结kali linux的安装,想起什么写什么,所以有点乱.然后记录一下自己的使用过程中遇见的问题和解决的方法,还有我的个人建议. 我个 ...

Docker镜像拉不下来?试试这些

DaoCloud 加速器1.0(永久免费) DaoCloud是国内第一家Dock Hub加速器提供商 注意,加速器 2.0 需要使用 DaoCloud 自己的云服务器才可以使用.官方宣称会继续支持加速 ...

注册测绘师20180301-CNSS

GNSS:Global Navigation Satellite System(全球卫星导航系统)GPS:Global Positioning System(全球定位系统)GPS是美国的卫星导航系统. ...

java代码理解

public int maxProfit(int k, int[] prices) {            int pl = prices.length;            int nothin ...

[CTSC1999] 家园

使用并查集判断无解. 令月球是n+1,地球是0 枚举时长t,将点(地球.月球以及太空站)i拆为t个点(i,j)表示第j时刻的点i. 对于太空船云云建图,容量是h[i]. 源点S和(0,0)连边,容量k ...

pyhton字符串

a = 5 # 1 + 1 = 10 + 1 = 11 + 1 = 100 + 1 = 101print(a.bit_length()) # 计算一个数字的二进制长度. a = 10# print(t ...

iOS开发安全 架构

网络通讯.本地文件和数据.源代码三方面 网络通讯 安全的传输用户密码 客户端在登录时,使用公钥将用户的密码加密后,将密文传输到服务器.服务器使用私钥将密码解密,然后加盐 (Salt:在密码学中,是指通 ...

mybatis接口中的方法重载_MyBatis的Mapper接口以及Example的实例函数及详解相关推荐

  1. mybatis接口中的方法重载_MyBatis底层实现原理: 动态代理的运用

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:祖大俊 my.oschina.net/zudajun/blog/666223 一日小 ...

  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. java中实现方法重载怎么声明_java 接口中如何声明类似于重载的方法?

    先说一下你的几个问题 你使用一个类型参数T继承PetHospital,T的类型可能是Hippiater,Customer,Pet等.这种继承方法违反了继承的"is-A"语义,试想一 ...

  6. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

  7. java中的接口中的方法

    题目如下:(多选题)请选择以下接口定义正确的方法()A:public static void main (String[] args);B:private void test();C:public v ...

  8. 接口中默认方法和静态方法_接口中的默认方法和静态方法

    接口中默认方法和静态方法 在我们最初的Java 8支持公告中,我们特别提到了流的缺乏,但完全错过了默认/静态本机接口不起作用的事实. 现在,由于有一个警惕的社区成员指出了这一问题,因此此问题已得到解决 ...

  9. WCF中的方法重载 实现

    操作重载 注意:WCF是不支持重载的,如果硬是写成重载的话,会抛出异常 InvalidOperationException,但是我们可以模拟! 原C#中的方法重载: interface ICalcul ...

最新文章

  1. blockchain paper
  2. BPSK信号matlab,BPSK信号调制解调与MATLAB仿真.docx
  3. oracle数据库卸载(需要完全卸载oracl才能重装)
  4. poj1163 数字三角形 (动态规划)
  5. postgresql 计算时间差的秒数、天数
  6. Maven仓库管理器
  7. .NET Core控制台程序发布后没有exe解决方案
  8. 学python可以从事什么工作-学完Python后可以从事哪些工作?
  9. 利用SQL语言修正与撤销数据库
  10. python爬取拼多多数据 verifyauthtoken_拼多多TOKEN授权
  11. python整合excel表_Python实现合并excel表格的方法分析
  12. mysql报错:1406, Data too long for column
  13. QLineEdit的焦点事件
  14. 3DMAX一键生成螺母和螺栓插件使用教程
  15. 准备好收集 BreederDAO 徽章了吗?
  16. Ubuntu Kylin使用docker单机部署Fate联邦学习框架
  17. “强者恒强”,零食江湖来到新赛点
  18. CNN中的filter
  19. centos安装telnet
  20. 手机加上它,200寸电视大屏幕就在你眼前了!

热门文章

  1. Python的布尔型
  2. 命令df,命令du详解及内存单位转换
  3. 51单片机控制数码管显示
  4. MySQL 查询 树结构
  5. java接口加密 ras,Jmeter 使用封装 jar 解决 RSA+AES 参数加密接口请求
  6. 20周年精彩盛宴将至 全球聚焦新能源展
  7. 什么是公司邮箱,如何申请公司邮箱,公司邮箱怎么申请?
  8. HTTP三次握手四次挥手简记
  9. Ubuntu系统Nginx 下载安装、配置、卸载,实现反向代理
  10. PyQt文本输出textEdit