Springboot + MyBatis-Plus 快速构建代码

千里之行始于足下,这是一个简单却高效的开始······

环境需求:JDK、IDEA、Maven

用IDEA快速生成一个Springboot项目

这一步先不添加依赖,为确保依赖添加的正确,在pom.xml依赖文件中配置。

下一步:finish

在pom.xml中添加依赖,代码如下:

<!-- web -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mysql -->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- mybatis-plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.3.1</version>
</dependency>
<!-- freemarker -->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
</dependency>
<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>
<!-- redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

找到该文件,将其后缀改为yml。我们要在这个文件中配置我们的数据库信息,因为mybatis生成代码是根据数据库中的数据生成的。配置代码如下:

server:
  port: 8080

spring:
  datasource:
    username: root
    password: 666666
    url: jdbc:mysql:///cdb

  redis:
    port: 6379
    host: localhost
    
logging:
  level: 
    com.example: debug

接着运行代码,发现tomcat在8080端口运行表示项目可以正常运行,然后我们再去补充这个项目。

进入Mybatis-Plus官网:MyBatis-Plus (baomidou.com)

复制网站这里的代码(快速生成和交互式生成,看个人习惯,这里快速生成为例),新建代码生成器类,在main方法中粘贴。

注意,mybatis的这个代码生成器会更新,如果是复制的官网最新代码,要确保pom.xml文件里的mybatis依赖也要调整到最新的版本。

之后我们要对代码生成器进行修改才能在我们的项目上运行,修改后代码如下:
 

public class CodeGenerator {
    public static void main(String[] args) {
        String url = "jdbc:mysql:///cdb";
        String username = "root";
        String password = "666666";
        String moduleName = "sys";
        String mapperLocation = "E:\\evironment\\java\\car-admin\\src\\main\\resources\\mapper" + moduleName;
        String tables = "x_user,x_role,x_user_role,x_menu,x_role_menu";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author("pwx") // 设置作者
//                            .enableSwagger() // 开启 swagger 模式
//                            .fileOverride() // 覆盖已生成文件
                            .outputDir("E:\\evironment\\java\\car-admin\\src\\main\\java"); // 指定输出目录
                })
                .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
                    int typeCode = metaInfo.getJdbcType().TYPE_CODE;
                    if (typeCode == Types.SMALLINT) {
                        // 自定义类型转换
                        return DbColumnType.INTEGER;
                    }
                    return typeRegistry.getColumnType(metaInfo);

                }))
                .packageConfig(builder -> {
                    builder.parent("com.example") // 设置父包名
                            .moduleName(moduleName) // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, mapperLocation)); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude(tables) // 设置需要生成的表名
                            .addTablePrefix("c_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

关于,两个代码生成路径java代码的生成路径用项目内的java文件的绝对路径,这里的mapper.xml文件生成的路径,可以通过如下方式查看:

运行上述代码生成器,左侧菜单栏已经出现生成文件,项目初期脚手架搭建完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值