分类
Java 编程

再见Mybatis Generator,你好Mybatis Plus

很久以前就使用Mybatis开发,Mybatis官方出品的Mybatis Generator能够自动生成Mapper和XML映射文件,提供基本的CRUD操作方法。

Mybatis Generator生成Entity同时可以生成Example,做为条件对像查询,避免写SQL。Example会跟据字段生成and,or,like等方法,也有eq,lt,gt,le,lt等比较方法和order by排序。

Mybatis Generator生成的SQL语句不提供数据库分页和排序,很多功能实现起来需要插件。我以前也写过分页插件,自定义封装了一个DaoService。在分页插件中增加了like查询,传入Entity跟据字段是否为空做条件用and查询。因为大多情况都是and查询,封装后很多操作不需要写SQL,也不需要用代码判断条件,提高了开发效率。

最近的项目用上了Mybatis Plus,虽说是第一次用,但很多东西与Mybatis Generator相似。Mybatis plus作者说,只在Mybatis上做增强,不做修改。因为这点我很钟意这个框架。

初识Mybatis Plus,和之前Mybatis Generator相比,Mybatis Plus自动生成代码能够生成Controller和Service层。Mybatis Plus的查询用的是Wrapper装饰类,类里提供and,or,eq,lt,le,gt,ge等方法。与Mybatis Generator不同的是,Mybatis Generator是为字段生成了java方法,而Mybatis Plus是在方法里传字段名。这两种方式各有优点吧,当数据库字段发生改变时,Mybatis Generator要重新生成Entity,相应的会涉及到修改代码,否则IDE编译不通过。而Mybatis Plus不会报错,因为字段名是string写死的,但是在执行过够中会有错误。

另外Mybatis Plus还提供了其他方法和扩展,总的来说还是很好的。国内不少人在用,也有人在维护。所以我觉得自己那套以后不必更新了。知道了原理就不必重覆造轮子,认可和学习更优秀的东西才能提升自己。

在很久之前我分享过这个插件,原文“原创 Mybatis Generator 插件分享”。后来在那个基础上做了改进,具体就不说了,用法和原文一样。

附上源码:

发表评论

电子邮件地址不会被公开。