在实际项目中,遇到了这样一个需求,就是只需要更新匹配到的第一条或者前几条数据。不想手动写相关mapper,于是就想着通过插件来实现。想了一下,得益于之前在Example中添加的limit成员变量,只要稍微修改下updateByExampleSelective
的SqlMapper实现就可以了。
MybatisGenerator插件开发四【批量插入】
发表于
|
分类于
MybatisGenerator
批量插入和分页查询一样,在项目中基本也是不可少的。这里我们要给Mapper添加两个方法:batchInsert
和batchInsertSelective
,区别是前者全字段插入,后者只插入给定的字段。原来的单条insertSelective
是通过对象的值是不是Null来实现的,我们也可以取插入记录的第0条来实现batchInsertSelective
。但是,始终感觉有点不对,所以采取了另一种方式,显式地传递要插入地字段来实现。这里就会用到了上一章节写入到Model中的表字段枚举了。
下面直接上代码。
修改Mapper接口和SqlMap文件
MybatisGenerator插件开发三【Lombok】
发表于
|
分类于
MybatisGenerator
如果我们项目中使用了Lombok,那通过自定义插件也能讲其作用于生成的与数据库表映射的Model类上。在这里,我们会同时把表的字段以枚举的形式写到该类中,具体作何使用的话,下一章节会讲到。
修改Model类
直接上代码:
MybatisGenerator插件开发二【分页】
发表于
|
分类于
MybatisGenerator
分页查询在小项目的开发中基本是逃不了的,虽然有基于ThreadLocal的PageHelper插件可以直接使用,但还是想从源头解决问题。针对Mysql来说的话,其实只要在生成的Mapper和SqlMap文件中添加limit和offset就可以了。
添加limit、offset
直接上代码:
MybatisGenerator插件开发一【清除SqlMap文件】
发表于
|
分类于
MybatisGenerator
开篇
很多项目会考虑使用Mybatis,如果使用了的话MybatisGenerator将会是个很好的选择。它会帮我们自动生成Mapper、Entity、SqlMap文件,在开发中能省很多事。然而MybatisGenerator只生成了为数不多的几个通用方法,没办法满足实际项目中多种多样的业务模型。庆幸的是,它提供自定义插件的功能,这就给我们开启了一扇大门。本人在项目中积累了几个比较常用的插件,本系列文章就一一来分享下。本人近期的项目中使用的都是Mysql,所以,自定义插件生成的SQL方言也都是只针对Mysql的。