springboot3.0整合mybatis-flex实现逆向工程

mybatis-flex简介(以下文字由CSDN创作助手生成):

Mybatis-flex是基于Mybatis的框架,是一个开源的轻量级框架,能够帮助开发者更方便、更快捷地操作数据库。Mybatis-flex提供了一系列的工具和功能,包括数据查询、数据更新、事务管理、数据分页、数据缓存等,使得开发者能够更加关注业务开发,而不是过多地关注底层数据库操作。

Mybatis-flex还支持多种数据库的操作,包括关系型数据库和非关系型数据库,例如MySQL、Oracle、SQL Server、MongoDB等。

Mybatis-flex的特点:

        1. 简单易用:Mybatis-flex提供了简单易用的API,开发者只需要简单的配置即可使用。

        2. 高效性能:Mybatis-flex采用了缓存、批量更新等多种技术来提高数据库操作效率。

        3. 扩展性强:Mybatis-flex提供了丰富的扩展点,开发者可以通过扩展接口来实现自己的需求。

        4. 多数据库支持:Mybatis-flex支持多种类型的数据库操作,可以在不同的场景下灵活切换。

总之,Mybatis-flex是一个功能强大、易用性好、扩展性强的数据库操作框架。

引入基本依赖


<dependency>
   <groupId>com.zaxxer</groupId>
   <artifactId>HikariCP</artifactId>
   <version>5.0.1</version>
</dependency>

<dependency>
   <groupId>com.mybatis-flex</groupId>
   <artifactId>mybatis-flex-spring-boot-starter</artifactId>
   <version>1.5.3</version>
</dependency>

<dependency>
   <groupId>com.mybatis-flex</groupId>
   <artifactId>mybatis-flex-codegen</artifactId>
   <version>1.5.3</version>
</dependency>

mybatis-flex yml配置

mybatis-flex:
  # 启动时检查是否存在 MyBatis XML 文件,默认不检查
  check-config-location: false
  # 是否控制台打印 MyBatis-Flex 的 LOGO 及版本号
  global-config:
    print-banner: true
    normal-value-of-logic-delete: 0
    deleted-value-of-logic-delete: 1

生成器,修改为自己的配置即可

package gen;

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

/**
 * @author 程序员星星
 * @date 2023/7/27
 * @Description
 */
public class Codegen {
    //数据库名和模块名(这里数据库名和模块名一样)
    private static final String databaseName = "five_cube_test";
    //主机 ip
    private static final String host = "192.168.157.129";
    //数据库用户名
    private static final String username = "root";
    //数据库密码
    private static final String password = "root";
    //生成代码的路径
    private static final String path = "D:\\myProject\\my\\test_mybatis_flex";
    //表名
    private static final String tableName = "user";
    //作者
    private static final String author = "lzx";
    //父包模块名
    private static final String moduleName = "mybatisFlex";
    //逻辑删除字段
    private static final String logicDeleteColumn = "status";
    //乐观锁字段
    private static final String versionColumn = "version";

    @Test
    public void genCode() {
        //配置数据源
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl("jdbc:mysql://" + host + ":3306/" + databaseName + "?characterEncoding=utf-8");
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        //创建配置内容,两种风格都可以。
        GlobalConfig globalConfig = createGlobalConfigUseStyle2();
        //通过 datasource 和 globalConfig 创建代码生成器
        Generator generator = new Generator(dataSource, globalConfig);
        //生成代码
        generator.generate();
    }

    public static GlobalConfig createGlobalConfigUseStyle2() {
        //创建配置内容
        GlobalConfig globalConfig = new GlobalConfig();
        //设置根包
        globalConfig.getPackageConfig()
                .setSourceDir(path + "/src/main/java")
                .setBasePackage("com." + author + "." + moduleName)
                .setMapperXmlPath(path + "/src/main/java/com/" + author + "/" + moduleName + "/mapper/xml");
        globalConfig.getJavadocConfig()
                .setAuthor(author);
        //设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表
        globalConfig.getStrategyConfig()
//                .setTablePrefix("tb_")
                .setLogicDeleteColumn(logicDeleteColumn)
                .setVersionColumn(versionColumn)
                .setGenerateTable(tableName);//生成多个表的写法"sys_user","sys_dept"
        //设置生成 entity 并启用 Lombok
        globalConfig.enableEntity()
                .setWithLombok(true);
        //设置生成 mapper
        globalConfig.enableMapper();
        //设置生成 mapper.xml
        globalConfig.enableMapperXml();
        //设置生成service
        globalConfig.enableService();
        globalConfig.enableServiceImpl();
        //设置生成controller
        globalConfig.enableController();
        //设置生成tableDef
        globalConfig.enableTableDef();
        return globalConfig;
    }
}

config配置类(可选)

package com.lzx.mybatisFlex.config;

import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.audit.AuditManager;
import com.mybatisflex.core.audit.ConsoleMessageCollector;
import com.mybatisflex.core.audit.MessageCollector;
import com.mybatisflex.spring.boot.MyBatisFlexCustomizer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;

/**
 * @author 程序员星星
 * @date 2023/6/8
 * @Description
 */
@Configuration
public class MyBatisFlexConfiguration implements MyBatisFlexCustomizer {
    private static final Logger logger = LoggerFactory.getLogger("mybatis-flex-sql");

    @Override
    public void customize(FlexGlobalConfig flexGlobalConfig) {
        //开启审计功能
        AuditManager.setAuditEnable(true);
        //设置 SQL 审计收集器
        MessageCollector collector = new ConsoleMessageCollector();
        AuditManager.setMessageCollector(collector);
        //设置 SQL 审计收集器
        AuditManager.setMessageCollector(auditMessage ->
                logger.info("{},{}ms", auditMessage.getFullSql(), auditMessage.getElapsedTime())
        );
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你好!要在Spring Boot整合MyBatis-Plus,你可以按照以下步骤进行操作: 步骤1:添加依赖 在你的Spring Boot项目的pom.xml文件,添加MyBatis-Plus的依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 请确保将`最新版本号`替换为MyBatis-Plus最新的版本号。 步骤2:配置数据源 在application.properties(或application.yml)文件,配置数据库连接信息,例如: ```yaml spring.datasource.url=jdbc:mysql://localhost:3306/db_example spring.datasource.username=db_username spring.datasource.password=db_password spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 请将`db_example`、`db_username`和`db_password`分别替换为你的数据库名称、用户名和密码。 步骤3:创建实体类和Mapper接口 创建对应的实体类,并使用`@TableName`注解指定数据库表名。然后创建Mapper接口,继承自`BaseMapper`。 ```java import com.baomidou.mybatisplus.annotation.TableName; @TableName("user") public class User { private Long id; private String username; private String email; // getters and setters } ``` ```java import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface UserMapper extends BaseMapper<User> { } ``` 步骤4:编写Service和Controller层代码 在Service层,可以通过注入Mapper对象来使用MyBatis-Plus提供的便捷方法。例如: ```java import org.springframework.stereotype.Service; import javax.annotation.Resource; @Service public class UserServiceImpl implements UserService { @Resource private UserMapper userMapper; @Override public User getUserById(Long id) { return userMapper.selectById(id); } // 其他业务逻辑方法 } ``` 在Controller层,可以直接调用Service层的方法来处理请求。例如: ```java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @RestController public class UserController { @Resource private UserService userService; @GetMapping("/users/{id}") public User getUserById(@PathVariable Long id) { return userService.getUserById(id); } // 其他请求处理方法 } ``` 这样,你就完成了Spring Boot与MyBatis-Plus的整合。你可以根据自己的需求,使用MyBatis-Plus提供的便捷方法来进行数据库操作。 希望对你有所帮助!如果还有其他问题,请继续提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小神话ing

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

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

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

打赏作者

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

抵扣说明:

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

余额充值