12月12日记录mybatis plus的初始学习
今天开始mybatis plus的初始学习,首先是学习mybatis plus的引入方式需要引入下面三段代码
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </dependency> <!--mybatis-plus-generator--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.3.1</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency>
分别是一个mybatis plus 和mybatis plus的代码生成器和生成器的一个构造器
引入完成后创建一个CodeGenerator类
写入一下代码
package com.example.mybatisplus; import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.config.rules.DbColumnType; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.sql.Types; import java.util.Collections; public class CodeGenerator { public static final String database ="finaltest"; public static final String url="jdbc:mysql://localhost:3306/"+database; public static final String username="root";//用户名 public static final String password="1234";//密码 public static final String tableName="teacher";//选择要生成的类 private static final String basePath=System.getProperty("user.dir"); public static void main(String[] args) { generator(tableName); } public static void generator(String tableName) { FastAutoGenerator.create(url, username, password) .globalConfig(builder -> { builder.author("xue") // 设置作者 .enableSwagger() // 开启 swagger 模式 .fileOverride() // 覆盖已生成文件 .disableOpenDir() .outputDir(basePath+"/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.mybatisplus") // 设置父包名 .moduleName(null) // 设置父包模块名 .pathInfo(Collections.singletonMap(OutputFile.xml, basePath+"\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.entityBuilder().enableLombok(); builder.serviceBuilder().formatServiceFileName("%sService"); builder.controllerBuilder().enableHyphenStyle().enableRestStyle(); builder.addInclude(tableName) // 设置需要生成的表名 .addTablePrefix("t_", "sys_"); // 设置过滤表前缀 }) .execute(); } }
然后就能够使用下面的mybatis plus简化后的代码了。