Spring Boot整合MyBatis-Plus,并通过AutoGenerator生成项目骨架代码

作为一名 Java 后端开发,日常工作中免不了要生成数据库表对应的持久化对象 PO,操作数据库的接口 DAO,以及 CRUD 的 XML,也就是 mapper。

Mybatis Generator 是 MyBatis 官方提供的一个代码生成工具,完全可以胜任这个工作,不过最近在开发项目的时候试用了一下 MyBatis-Plus 官方提供 AutoGenerator,发现配置更简单,开发效率更高!

导入 SQL 文件

我用的MySQL 版本是 8.0,可以在链接上 MySQL 后使用 select version(); 命令查询版本。

打开 Navicat,把 SQL 文件导入到本地数据库

体验 MyBatis-Plus 的 AutoGenerator

AutoGenerator 是 MyBatis-Plus 推出的代码生成器,可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,比 Mybatis Generator 更强大,开发效率更高。

第一步,在 pom.xml 文件中添加 AutoGenerator 的依赖。

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>

第二步,添加模板引擎依赖,MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,这里使用 Freemarker引擎。

     <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>

第三步,新建 CodeGenerator.java 文件,在 main 方法中添加 MyBatis-Plus 的 AutoGenerator 对象。

public class CodeGenerator {
    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

在 main 方法中添加全局配置。


        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        gc.setAuthor("藏三");
        gc.setOpen(false);
        gc.setDateType(DateType.ONLY_DATE);
        gc.setSwagger2(true);
        gc.setIdType(IdType.AUTO);
        gc.setBaseColumnList(true);
        gc.setBaseResultMap(true);
        gc.setFileOverride(true);

        mpg.setGlobalConfig(gc);

解释:

这段代码是使用MyBatis-Plus的代码生成器(mpg)来配置全局参数。具体解释如下:

1. 创建一个GlobalConfig对象,用于设置全局配置信息。
2. 获取当前项目的路径,并将其设置为输出目录。
3. 设置作者为"藏三"。
4. 设置是否打开输出目录,这里设置为false,表示不打开。
5. 设置日期类型为仅日期。
6. 设置是否启用Swagger2,这里设置为true,表示启用。
7. 设置主键策略为自动递增。
8. 设置是否生成BaseColumnList,这里设置为true,表示生成。
9. 设置是否生成BaseResultMap,这里设置为true,表示生成。
10. 设置是否覆盖已有文件,这里设置为true,表示覆盖。
11. 将GlobalConfig对象设置到mpg中。

配置数据源。

// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/codingmore?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123");

mpg.setDataSource(dsc);

第五步,配置包。

// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("top.codingmore.mpg");

更多配置项可以到官方查看:

代码生成器配置旧 | MyBatis-Plus

完整代码如下所示:

public class CodeGenerator {
    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        gc.setAuthor("藏三");
        gc.setOpen(false);
        gc.setDateType(DateType.ONLY_DATE);
        gc.setSwagger2(true);
        gc.setIdType(IdType.AUTO);
        gc.setBaseColumnList(true);
        gc.setBaseResultMap(true);
        gc.setFileOverride(true);

        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/codingmore?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("1qazdsad");

        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("top.codingmore.mpg");
        mpg.setPackageInfo(pc);

        mpg.execute();
    }
}

再来看一下运行后的效果,可以看到数据库表对应的 controller、service、entity、mapper 等等全有了。

  • 31
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常感谢您的提问,我可以回答关于 Spring Boot 整合 MyBatis-Plus 的增删改查项目问题。这样的项目通常都需要进行以下配置和实现: 1. 引入 MyBatis-PlusMyBatis-Spring-Boot-Starter 依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.4.3</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> </dependency> ``` 2. 配置 MyBatis-Plus: 在 application.properties 文件中添加以下配置: ``` mybatis-plus.mapper-locations=classpath:mapper/*.xml mybatis-plus.type-aliases-package=com.example.demo.model ``` 3. 实现对应的 Mapper: 定义一个对应的实体类和对应的 Mapper 接口,如下所示: ``` // User.java 实体类 @Data public class User { private Long id; private String name; private Integer age; } // UserMapper.java 接口类 @Repository public interface UserMapper extends BaseMapper<User> {} ``` 4. 实现增删改查: 定义一个对应的 Service 类,通过调用 UserMapper 接口中的方法实现增删改查操作,如下所示: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> listUsers() { return userMapper.selectList(null); } @Override public int saveUser(User user) { return userMapper.insert(user); } @Override public int updateUser(User user) { return userMapper.updateById(user); } @Override public int deleteUserById(Long id) { return userMapper.deleteById(id); } } ``` 以上就是 Spring Boot 整合 MyBatis-Plus 的增删改查项目的主要流程和实现细节,如果有任何问题欢迎随时咨询!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值