之前记录了mybatis-generator和通用mapper的使用,使我们在开发过程中减少了很多重复的创建工作。在使用过程中只需要一个命令行就搞定了。
但是在使用过程中,由于命令行,实际也是读取的xml配置。所以如果要想每次只生成指定表的话,就需要去修改xml文件。或者直接整个数据库生成,但是这样难免会覆盖之前修改过的文件,很不方便。加上通用mapper虽然集成了一些,但是对于一些条件查询来说,还是不太方便
mybatis-plus作为mybatis的增强工具来说,很好的解决了以上问题,可以通过灵活的配置和代码来实现,自动生成。同时也提供了BaseMapper中也提供了很多的函数。大大方便了开发者
包引入
mybatis-plus包自动关联了mybatis包,所以不需要重复引入,把原有的mybatis包在pom.xml中去除。只需要引入新的jar即可
修改配置文件
原来的配置文件大部分不需要修改,只需要_sqlSessionFactory_对应的类换成mybatis-plus中类即可
自动生成
mybatis-plus中对于自动生成,提供了非常自由的配置,默认的话,是会生成controller、service(实现类和接口类)、entity、mapper这五个文件。刚好涵盖了除了视图之外的数据表映射,数据库查询,业务逻辑,控制器几个部分。而且生成的文件也可以随意配置。具体的使用方法在官网可以找到。这里记录了我自己使用的配置方法
全局配置
数据库配置
包路径设置
输出配置
配置生成策略
自定义模板
执行生成
上述配置完成后,由AutoGenerator类来执行生成
说明
生成的mapper自动继承BaseMapper接口,BaseMapper中提供了很多便捷的查询接口。如:根据Map集合作为查询条件,使用mybatis提供的QueryWrapper查询条件构造类。可以实现大部分的查询。不需要再次编写sql语句
QueryWrapper的简单示例,可以使用大部分的sql逻辑,如 or、and、have、in、not in等等
查询成功