浅谈MyBatis中Example的用法

我们在 代码生成器 Mybatis Generator 中设置代码生成器的一些属性时,就曾看到过有关Example的设置。
浅谈MyBatis中Example的用法

我们知道MyBatis是一种半自动化的ORM框架,需要我们写SQL语句的,而Example是不需要我们写SQL语句的,在mybatis-generator生成代码时,几乎帮我们把所有能想到的curd都帮助我们实现了。


这里要使用Example,我们在生成代码的时候,不仅要将上述截图中的配置改一下,有一处也是需要更改的,下图中红框的内容也是需要注释掉的

浅谈MyBatis中Example的用法

然后我们就可以执行我们的mybatis-generator代码生成器了,这次我们会比我们之前生成的代码多了一些类,如UserExample类,UserMapper里面的内容也有所不同。


Example类包含一个内部静态类 Criteria 包含一个用 anded 组合在where子句中的条件列表。 Example类包含一个 List 属性,所有内部类Criteria中的子句会用ored组合在一起。使用不同属性的 Criteria 类允许您生成无限类型的where子句。



我们来看看其用法了,下面是一个简单的小例子
浅谈MyBatis中Example的用法
浅谈MyBatis中Example的用法

然后我们无需手动写SQL语句,它就帮助我们自动生成了SQL语句,但是一般我们不推荐使用MyBatis里的Example,因为首先代码耦合度较高,我们如何改变了数据库字段,我们又要重新生成代码,其次我们不太好对SQL进行优化,因为SQL都是自动生成的嘛。


Example里面还有更多的用法,可自行在生成的 UserExample 类中查询,如下
浅谈MyBatis中Example的用法