2024 基于java SpringBoot的 mybatis-flex 代码生成器工具类,拿来就可以用!!!

一、引入依赖

        <!--    MyBatis-Flex 代码生成器    -->
        <dependency>
            <groupId>com.mybatis-flex</groupId>
            <artifactId>mybatis-flex-codegen</artifactId>
            <version>1.8.3</version>
        </dependency>

        <!--      mybatis-flex  SpringBoot版本    -->
        <dependency>
            <groupId>com.mybatis-flex</groupId>
            <artifactId>mybatis-flex-spring-boot-starter</artifactId>
            <version>1.8.3</version>
        </dependency>
        <dependency>
            <groupId>com.mybatis-flex</groupId>
            <artifactId>mybatis-flex-processor</artifactId>
            <version>1.8.3</version>
            <scope>provided</scope>
        </dependency>

        <!--   mysql   jdbc驱动依赖   -->
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>4.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.32</version>
        </dependency>

二、工具类CodegenUtils


import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.zaxxer.hikari.HikariDataSource;

public class CodegenUtils{

    public static void main(String[] args) {
        //配置数据源
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/数据库?characterEncoding=utf-8");
        dataSource.setUsername("数据库账号");
        dataSource.setPassword("数据库密码");

        //创建配置内容,引用下方的代码生成器方式方法
        GlobalConfig globalConfig = createGlobalConfigUseStyle1();

        //通过 datasource 和 globalConfig 创建代码生成器
        Generator generator = new Generator(dataSource, globalConfig);

        //生成代码
        generator.generate();
    }


    /**
     * 代码生成器方式方法
     *
     * @return
     */
    public static GlobalConfig createGlobalConfigUseStyle1() {
        //创建配置内容
        GlobalConfig globalConfig = new GlobalConfig();

        //设置根包
        globalConfig.setBasePackage("com.test");

        //文档注释 作者名
        globalConfig.getJavadocConfig().setAuthor("作者名字");
        //启用swagger注解
        globalConfig.setEntityWithSwagger(true);
        //设置表前缀和只生成哪些表
        //globalConfig.setTablePrefix("tb_");
        globalConfig.setGenerateTable("数据表1","数据表2","数据表3");

        //设置生成 entity 并启用 Lombok
        globalConfig.setEntityGenerateEnable(true);
        globalConfig.setEntityWithLombok(true);

        //设置项目的JDK版本,项目的JDK为14及以上时建议设置该项,小于14则可以不设置
        // globalConfig.setEntityJdkVersion(17);

        //启用 Controller 生成
        globalConfig.enableController();
        //启用 Service 生成
        globalConfig.enableService();
        //启用 ServiceImpl 生成
        globalConfig.enableServiceImpl();
        //设置生成 mapper
        globalConfig.enableMapper();
        //启用 MapperXml 生成
        globalConfig.enableMapperXml();
        //	启用 TableDef 生成
        globalConfig.enableTableDef();
        //不设置会重复类
        globalConfig.getTableDefConfig()
                .setClassPrefix("My")
                .setClassSuffix("Def");

        //可以单独配置某个列
        //ColumnConfig columnConfig = new ColumnConfig();
        //columnConfig.setColumnName("tenant_id");
        //columnConfig.setLarge(true);
        //columnConfig.setVersion(true);
        //globalConfig.setColumnConfig("tb_account", columnConfig);

        return globalConfig;
    }


}

三、运行效果

四、运行结果

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis-Flex 是一个 MyBatis 的插件,它提供了一种简单的方法来实现逻辑删除。逻辑删除是指在数据库中标记数据为已删除,而不是真正地从数据库中删除数据。 要使用 MyBatis-Flex 实现逻辑删除,你需要进行以下步骤: 1. 引入 MyBatis-Flex 插件:在你的项目中引入 MyBatis-Flex 插件的依赖。 2. 配置 MyBatis-Flex:在 MyBatis 的配置文件中,添加 MyBatis-Flex 的插件配置,并配置逻辑删除的相关信息。例如: ```xml <plugins> <plugin interceptor="org.mybatis.plugin.FlexInterceptor"> <property name="deletedFlagColumn" value="deleted"/> <property name="deletedFlagValue" value="1"/> <property name="notDeletedFlagValue" value="0"/> </plugin> </plugins> ``` 在上述配置中,`deletedFlagColumn` 是表示逻辑删除标记列的名称,`deletedFlagValue` 是表示已删除的标志值,`notDeletedFlagValue` 是表示未删除的标志值。 3. 在数据库表中添加逻辑删除标记列:在需要实现逻辑删除的数据库表中,添加一个列来表示逻辑删除的状态。例如,你可以添加一个名为 `deleted` 的列。 4. 在实体类中添加逻辑删除字段:在对应的实体类中,添加一个与逻辑删除标记列对应的属性,并在对应的数据库字段上使用注解指定映射关系。例如: ```java public class User { private Long id; private String name; private Integer deleted; // getters and setters } ``` 在上述示例中,`deleted` 属性对应于数据库表中的 `deleted` 列。 5. 更新相关的 MyBatis 映射文件:在对应的 MyBatis 映射文件中,修改查询条件,将原来的直接查询改为查询未删除的数据。例如: ```xml <select id="getUserById" resultType="User"> SELECT * FROM user WHERE id = #{id} AND deleted = 0 </select> ``` 在上述示例中,`deleted = 0` 表示查询未删除的数据。 通过上述步骤,你就可以使用 MyBatis-Flex 实现逻辑删除了。当你执行删除操作时,MyBatis-Flex 会自动将数据库中的数据标记为已删除状态,并在查询时过滤已删除的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假客套

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值