赞
踩
它是对mybatis-plus-generator进行封装,通过Web UI快速生成兼容Spring boot,mybatis-plus框架的各类业务代码。提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity、Mapper、Mapper.xml、Service、Controller等,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。
Table查询: 查询配置的关系型数据库表的列表查询。
输出配置: 对需要生成的相关代码,比如Entity、Mapper、Servcie、Controller等代码模板信息进行配置,用于在转换时调用。
项目导入: 可以导入其它项目配置好的信息给本项目使用。
下载模板: 支持本项目配置的模板信息下载后共享。
策略配置: 直接定义各种文件的生成策略。
模板上传: 支持从别的项目中下载模板,同上传供本项目使用。
SQL输入上传: 支持将查询语句直接上传或者复制到输入框中。
SQL代码生成: 基于SQL脚本生成相应的代码。
mybatis-plus-generator-ui提供以jar包的形式为外部项目提供服务,通过配置的数据库配置去读取数据库的配置信息,并通过Web UI的方式提供给开发者使用。mybatis-plus-generator-ui支持POSTGRE_SQL、ORACLE、DB2、MySQL、SQLSERVER等常见的关系型数据库。
首先,这个功能是可以直接放在项目中,我这里是直接新建了一个项目。只需要注意版本即可,2.0.0 版本已经支持mybatis-plus 3.5.X
- <dependency>
- <groupId>com.github.davidfantasy</groupId>
- <artifactId>mybatis-plus-generator-ui</artifactId>
- <version>2.0.1</version>
- <scope>test</scope>
- </dependency>
这里需要注意的地方有配置自己的数据库,它支持几乎所有的主流数据库,这里我用的是MySql数据库;basePackage是配置生成文件的地址;port是端口号
- public class GeneratorMain {
-
- public static void main(String[] args) {
- GeneratorConfig config = GeneratorConfig.builder()
- .jdbcUrl("jdbc:mysql://localhost:3306/autoapi")
- .userName("root")
- .password("root")
- .driverClassName("com.mysql.cj.jdbc.Driver")
- // 数据库schema,POSTGRE_SQL,ORACLE,DB2类型的数据库需要指定
- // .schemaName("myBusiness")
- // 如果需要修改各类生成文件的默认命名规则,可自定义一个NameConverter实例,覆盖相应的名称转换方法:
- .nameConverter(new NameConverter() {
- /**
- * 自定义Service类文件的名称规则
- */
- public String serviceNameConvert(String tableName) {
- return this.entityNameConvert(tableName) + "Service";
- }
- /**
- * 自定义Controller类文件的名称规则
- */
- public String controllerNameConvert(String tableName) {
- return this.entityNameConvert(tableName) + "Action";
- }
- }).basePackage("com.example.hello").port(8088).build();
- MybatisPlusToolsApplication.run(config);
- }
- }
在输出的日志中,可以看端口号,默认模板目录地址。
红色圈起来的就是生成的代码,绿色圈起来的需要注意,这是在mapper文件下的UserMapper加上@Mapper注解,或者在启动类加上@MapperScan("mapper文件地址")
这里是访问list接口,基本的增删改查接口都是有的
项目源码:https://github.com/davidfantasy/mybatis-plus-generator-ui
个人推荐使用引用依赖的方式比较简单。
选择相应的文件类型的文件模板下载下来,然后打开根据需要进行修改,修改好了之后点击操作对应的类型,然后选择自己自定义的文件保存,下一次生成的时候生效。
还可以新增一个文件配置好相应的配置,然后保存
我们在数据库使用的sql语句和在mapper.xml虽然相似,但是还是有区别的,mapper.xml里面的相对来说要复杂一点,有了这个东西就可以偷懒了,我把它的示例粘过来,
动态sql增强是指将含有mybatis动态参数(#{...})的where条件,转换为mybatis的动态SQL条件,一般用于用户输入条件进行查询的情况,例如:
- SELECT
- *
- FROM
- t_order t
- LEFT JOIN
- t_order_good t1 ON t.id = t1.order_id
- WHERE
- t.order_code = '#{orderCode}'
- AND t.city LIKE '#{city}'
- AND t.customer_id IN '#{customerIds}'
- AND t.creator = '#{creator}'
- AND t.confirm_time BETWEEN '#{startTime}' AND '#{endTime}'
以上的SQL将会被转换为下面的动态SQL,注意 动态参数需要用引号括起来
- <!--Author:david,Date:2020-07-14,由mybatis-plus-generator-ui自动生成-->
- <select id="selectOrders" resultMap="ExampleDtoMap"> <![CDATA[
- SELECT
- *
- FROM
- t_order t
- LEFT JOIN
- t_order_good t1 ON t.id = t1.order_id
- WHERE
- 1=1
- <if test="orderCode!=null">
- AND order_code = #{orderCode}
- </if>
- <if test="city!=null">
- AND city like concat('%',#{city},'%')
- </if>
- <if test="customerIds!=null">
- AND customer_id in
- <foreach item="item" collection="#{customerIds}" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="creator!=null">
- AND creator = #{creator}
- </if>
- <if test="startTime!=null">
- AND confirm_time between #{startTime} and #{endTime}
- </if>
- ]]>
- </select>
对于这个东西,初学者不建议用,而不是初学者基本上也不会用这东西,公司的框架基本上都有更好的代码生成工具,比这更加完善,更加实用,所以说这玩意很尴尬,但是没有生成的项目可以加上,可以节约时间
最后,如有问题,请指正!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。