[1] Springboot整合MybatisPlus--使用SpringInitializer创建的项目

文章介绍了如何配置Mybatis-Plus-Generator的依赖,包括mybatis-plus-boot-starter、mybatis-plus-generator、freemarker、mysql驱动等,并在application.yml中设置数据库信息。接着展示了如何编写代码自动生成器,指定数据库连接、输出目录、包名、模块名以及mapperXML文件的位置。此外,还提醒在启动类中添加@MapperScan注解以扫描mapper接口,最后提供了一个测试用例来验证生成的代码是否正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、首先导入依赖

ps:注意这里mybatis-plus-generator的版本,很多时候版本不同会报错,此处使用的是3.5.3版本

        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

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

        <!--freemarker模板引擎-->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>

        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>

        <!--swagger文档注解-->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.6.2</version>
        </dependency>

        <!--druid连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.15</version>
        </dependency>

2、在application.yml中创建数据库信息

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://localhost:3307/guigu-auth?serverTimezone=UTC
    username: root
    password: root

3、使用自动生成器代码自动生成

public class MybatisPlusGenerator {

    public static void main(String[] args) {
        //数据库连接地址,这里直接选择的数据库是以前的尚硅谷项目使用的数据库guigu-auth
        String url="jdbc:mysql://localhost:3307/guigu-auth?serverTimezone=UTC";
        //数据库连接的用户名和密码
        String username="root";
        String password="root";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author("zjj") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\App\\Springboot\\mybatis-plus-demo\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.hubu") // 设置父包名
                            .moduleName("mybatisplusdemo") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\App\\Springboot\\mybatis-plus-demo\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("sys_user") // 设置需要生成的表名
                            .addTablePrefix("sys_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

ps:主要需要修改的地方就是

【1】url:数据库连接地址

【2】username:数据库用户名

【3】password:数据库密码

【4】outputDir:只用到main/java目录

【5】parent:父包名,比如创建文件时候为com.itheima

【6】moduleName:模块名,比如创建文件的时候的模块名

【7】pathInfo:mapper.xml文件的输出位置,如果Generator的版本比较低,则此处的OutputFile.xml可能会报错,可以尝试一下吧OutputFile.xml修改为OutputFile.mapperXml

【8】addInclude:设置需要生成的表名和addTablePrefix设置过滤表前缀

4、在启动类中添加MapperScan注解,确保能够扫描到mapper,不然会报错,提示没有bean

@MapperScan("com.hubu.mybatisplusdemo.mapper") 

5、大功告成,一定要在测试类里面测试一下

@SpringBootTest
class MybatisPlusDemoApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Test
    void testSelectList() {
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值