primo-generator
项目地址:
https://github.com/chenhaoxiang/primo
primo-generator-mybatis-plus-maven-plugin
自动生成代码插件,通过Maven插件配置,一键生成单表的所有CRUD操作,加速你的业务开发
持久层基于Mybatis-Plus
主要功能
- 单表增删改查
- 单表的条件查询,分页查询
- 基于druid,数据库监控
- 统一查询条件模型
- 统一controller层模型
使用说明 一步到位
注意,必须要修改的点:
- 其中的父类包名修改为自己需要的包名
- 数据源的配置,连接、账号、密码
其他的一些配置项,按照自己的需要进行配置。
插件依赖
<plugin> <groupId>wiki.primo.generator</groupId> <artifactId>primo-generator-mybatis-plus-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!-- 输出目录(默认java.io.tmpdir) ,项目路径下--> <outputDir>src/main/java/</outputDir> <!-- 是否覆盖同名文件(默认false) --> <fileOverride>true</fileOverride> <!-- mapper.xml 中添加二级缓存配置(默认true) --> <enableCache>true</enableCache> <!-- 开发者名称 --> <author>chenhx</author> <!-- 是否开启 ActiveRecord 模式(默认true) --> <activeRecord>false</activeRecord> <!--query.open 此配置数据在0.0.5版本已经进行删除--> <query> <!-- 是否开启 条件分页查询以及相关类生成 --> <open>true</open> </query> <!-- 数据源配置,( **必配** ) --> <dataSource> <driverName>com.mysql.jdbc.Driver</driverName> <url>jdbc:mysql://127.0.0.1:3306/love?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8</url> <username>root</username> <password>12345678</password> </dataSource> <strategy> <!-- 字段生成策略,四种类型,从名称就能看出来含义: nochange(默认), underline_to_camel,(下划线转驼峰) remove_prefix,(去除前缀,后面保持不变) remove_prefix_and_camel(去除前缀,后面转驼峰) --> <naming>underline_to_camel</naming> <!-- 表前缀 --> <tablePrefix> </tablePrefix> <!--Entity中的ID生成策略(默认 id_worker)AUTO - 自动--> <idGenType>auto</idGenType> <!--自定义超类--> <!--<superServiceClass>com.baomidou.base.BaseService</superServiceClass>--> <!-- include(包含) 与exclude(排除) 二选一配置 可以都不进行配置,则默认生成数据库下全部的表 --> <include> <property>user</property> <!-- <property>table1</property>--> </include> <!-- 要排除的表 --> <!--<exclude>--> <!--<property>schema_version</property>--> <!--</exclude>--> </strategy> <packageInfo> <!-- 父级包名称,如果不写,下面的service等就需要写全包名(默认com.baomidou) --> <parent>wiki.primo.generator.mybatis.plus.springbootdemo</parent> <!--service包名(默认service)--> <service>service</service> <!--serviceImpl包名(默认service.impl)--> <serviceImpl>service.impl</serviceImpl> <!--entity包名(默认entity)--> <entity>entity</entity> <!--mapper包名(默认mapper)--> <mapper>mapper</mapper> <!--xml包名(默认mapper.xml)--> <xml>mapper.xml</xml> <query>query</query> </packageInfo> <!--模板路径配置项--> <template> <!-- 定义controller模板的路径 --> <!--<controller>/template/controller1.java.vm</controller>--> </template> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> </dependencies> </plugin>
其他运行项目必备的配置
当添加插件依赖后,已经可以运行项目生成的代码了。
但是运行项目,会报错,那么进行下面几步后,可以解决。
一 添加依赖
必备的jar包依赖,版本请自行控制
<!--Spring Boot web依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--mybatis-plus依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <!--druid依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.14</version> </dependency> <!--MySQL JDBC驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
二 扫描Mapper
在@SpringBootApplication注解的启动类上加入
//第二步:扫描mapper @MapperScan("你mapper接口所在的包名")
三 mybati plus配置
##mybatis-plus mapper xml 文件地址 mybatis-plus.mapper-locations=classpath*:mapper/*Mapper.xml ##mybatis-plus type-aliases 文件地址 mybatis-plus.type-aliases-package=entity实体类的包名(例:wiki.primo.generator.mybatis.plus.springbootdemo.entity) # 驼峰下划线转换 mybatis-plus.configuration.map-underscore-to-camel-case=true # 配置的缓存的全局开关 mybatis-plus.configuration.cache-enabled=true # 延时加载的开关 mybatis-plus.configuration.lazy-loading-enabled=true
四 其他
数据源配置、druid监控配置以及其他的配置,请查看演示项目下的application.properties文件
后续若有其他功能,会及时更新演示项目的配置
使用演示
primo-generator-maven-plugin-spring-boot-demo
springboot项目使用primo-generator-maven-plugin演示
可以看到,这个项目下目前是没有类的
在项目的pom文件中开始进行添加插件的依赖(如果是子模块,在子模块的pom中添加)
我在这里只配置了一个表user进行生成
<!-- include(包含) 与exclude(排除) 二选一配置 可以都不进行配置,则默认生成数据库下全部的表 --> <include> <property>user</property> </include>