逆向工程生成的Mapper.xml以及*Example.java详解
逆向工程生成的接口中的方法详解
在我上一篇的博客中讲解了如何使用Mybayis逆向工程针对单表自动生成mapper.java、mapper.xml、实体类,今天我们先针对mapper.java接口中的部分方法进行测试,以了解其作用。
先看表结构。。。

从下图可以看到MBG根据数据表自动生成了很多方法,基本可以满足我们日常开发需求,我从中挑选几个测试。

1、添加数据
添加有insert,insertSelective两个方法。insert方法会把你传入对象的每一个属性的值(没有设置就按默认值)添加到对应的数据表中的列中。而insertSelective方法会把传入对象的非空属性值添加到数据表,如果为空就不添加,这个打开mapper.xml查看对应的sql语句就可以看出来它们的区别。


就这么简单,数据表中就多了一条数据。
2、根据主键查询
这都很简单,直接贴图

根据主键删除也是一个道理,在此就不再赘述。
3、自定义查询(*Examp.java的作用)
首先要创建EmployExample对象,用来获取criteria对象(Criteria是EmployExample类的一个静态的成员内部类),然后就可以使用criteria对象构造查询条件。
比如我们要查询名字为“Richard”的员工信息。

这里根据条件查询的结果可能是多条,所以我们用list接收。
4、自定义条件更新
需求:假如Richard离职了,Tom 接替他的工作。需要把名字为“Richard"的这条数据中的名字和邮箱修改为Tom和Tom的邮箱(不清楚Richard表中对应的id)。
这个时候如果不在xml中新建sql,就需要先查询出对应数据,再修改对应字段,避免对不需要修改的字段重新赋值。在我这张表中还好,如果不需要修改的字段太多,手动为每个属性赋值就会很麻烦。


这样就OK了。熟悉了这几个方法,其他还有很多方法依次类推也就容易理解了。
逆向工程生成的Mapper.xml以及*Example.java详解的更多相关文章
- mybatis如何通过接口查找对应的mapper.xml及方法执行详解
转:http://www.jb51.net/article/116402.htm 本文主要介绍的是关于mybatis通过接口查找对应mapper.xml及方法执行的相关内容,下面话不多说,来看看详细的 ...
- 【转】Mybatis 3.1中 Mapper XML 文件 的学习详解
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...
- Mybatis 3.1中 Mapper XML 文件 的学习详解(转载)
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...
- MyBatis Mapper XML 文件 的学习详解
MyBatis 真正的力量是在映射语句中.这里是奇迹发生的地方.对于所有的力量,SQL 映射的 XML 文件是相当的简单.当然如果你将它们和对等功能的 JDBC 代码来比较,你会发现映射文件节省了大约 ...
- Java 详解 JVM 工作原理和流程
Java 详解 JVM 工作原理和流程 作为一名Java使用者,掌握JVM的体系结构也是必须的.说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java ...
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- XML解析之SAX详解
XML解析之SAX详解 本文属于作者原创 http://www.cnblogs.com/ldnh/ XML解析的五个步骤 1.打开文档 (void)parserDidStartDocument:(NS ...
- XML参考 :XmlReader 详解、实例
XML参考 :XmlReader 详解.实例-- 详解 转:http://www.cnblogs.com/Dlonghow/archive/2008/07/28/1252191.html XML参考 ...
- Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
随机推荐
- Spark实践 -- 性能优化基础
性能调优相关的原理讲解.经验总结: 掌握一整套Spark企业级性能调优解决方案:而不只是简单的一些性能调优技巧. 针对写好的spark作业,实施一整套数据倾斜解决方案:实际经验中积累的数据倾斜现象的表 ...
- javabean为什么要实现序列化?
javabean为什么要实现序列化? 所谓的Serializable,就是java提供的通用数据保存和读取的接口.至于从什么地方读出来和保存到哪里去都被隐藏在函数参数的背后了.这样子,任何类型只要实现 ...
- UVa 12174 Shuffle (滑动窗口)
题意:你正在使用的音乐播放器有一个所谓的乱序播放功能,即随机打乱歌曲的播放顺序.假设一共有s首歌, 则一开始会给这s首歌随机排序,全部播放完毕后再重新随机排序.继续播放,依次类推.注意,当s首歌播放完 ...
- addEvent兼容版
function addEvent(elem,type,handle){ if (elem.addEventlistener) { elem.addEventlistener(type,handle, ...
- 都有哪些 cache ?
1. spring http://www.springframework.org/schema/cache 2. ehcache LOGO关键词:palindrome [ˈpælɪndrəʊm] 正读 ...
- 201709011工作日记--ART与Dalvik&&静态类与非静态类
1.ART 与 Dalvik 的优缺点对比 什么是Dalvik:Dalvik是Google公司自己设计用于Android平台的Java虚拟机.dex格式是专为Dalvik应用设计的一种压缩格.Dalv ...
- ORBSlam with ROS
...相机标定 calibration 基本就是做CV 的常识 ORBSlam源码:
- Ubuntu 16.04下安装网络流量分析工具 Wireshark
本文链接地址:https://www.linuxidc.com/Linux/2016-08/134526.htm 切勿用商业用途 sudo apt-add-repository ppa:wiresha ...
- [Android]高低API版本兼容之@TargetApi
使用@TargetApi annotaion, 使高版本API的代码在低版本SDK不报错 例如: AsyncTask.THREAD_POOL_EXECUTOR, 这个静态变量是API11才有的, 设置 ...
- handsontable 问题
碰到问题了,去官网上找community:http://docs.handsontable.com/0.16.1/tutorial-quick-start.html 1. 描述:把handson ta ...