Mybatis-plus配置
- mybatis-plus 对spring boot 的集成包
- mybatis-plus 代码生成器
- mybatis-plus 引擎引入
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
Mybatis-plus 代码生成器
public class MybatisPlusAutoGenerator {
private static final String AUTHOR="xxx"; //作者名
private static final String GROUP="com.xxx"; //com.xxx
private static final String TABLENAME="xxx"; // 映射的数据库表名
// 连接的数据库url
private static final String DATABASEURL="jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf-8&serverTimeZone=Asia/Shanghai&useSSL=FALSE";
private static final String PROJECTNAME="xxx"; // 項目名字
/**
* 执行初始化数据库脚本
*/
//public static void before() throws SQLException {
// Connection conn = DATA_SOURCE_CONFIG.build().getConn();
// InputStream inputStream = H2CodeGeneratorTest.class.getResourceAsStream("/sql/init.sql");
// ScriptRunner scriptRunner = new ScriptRunner(conn);
// scriptRunner.setAutoCommit(true);
// scriptRunner.runScript(new InputStreamReader(inputStream));
// conn.close();
//}
/**
* 数据源配置
*/
private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG = new DataSourceConfig
.Builder(DATABASEURL, "root", "123456");
/**
* 执行 run
*/
public static void main(String[] args) throws SQLException {
//before();
String projectPath = System.getProperty("user.dir");//获取项目路径
FastAutoGenerator.create(DATA_SOURCE_CONFIG)
//全局配置
.globalConfig(builder -> {
builder.author(AUTHOR)
.outputDir(projectPath + "/src/main/java")//输出路径
//.enableSwagger()//开启swagger3
.fileOverride();//覆盖文件
//.disableOpenDir()//不打开文件夹
})
//包名配置
.packageConfig(builder -> {
builder.parent(GROUP)
.moduleName(PROJECTNAME)
.service("service")
.serviceImpl("service.impl")
.controller("controller")
.entity("pojo")
.mapper("mapper")
//自定义输出路径,mapper.xml生成到resources目录下
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, projectPath + "/src/main/resources/Mapper"));
})
//策略配置(对哪个表进行映射)
.strategyConfig(builder -> {
builder.addInclude(TABLENAME) //映射的数据库表名 ,可以多个
.addTablePrefix("")//表前缀
.serviceBuilder().formatServiceFileName("%sService")//去掉Service的 "I" 前缀
.controllerBuilder().enableRestStyle()//restful开启
.enableHyphenStyle()//url改变 例如:school_id
.entityBuilder().enableLombok();//开启lombok
})
//执行
.execute();
}
}