承接上文,接着开始最基础的代码开发,使用Mybatis Plus的代码生成器,简化流程式的开发工作。
1、引入maven依赖,
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
2、首先实现代码生成器配置类:
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.List;
public class CodeGenerator {
public static void main(String[] args) {
// 自定义需要填充的字段
List<TableFill> tableFillList = new ArrayList<>();
// 代码生成器
AutoGenerator mpg = new AutoGenerator()
.setGlobalConfig(
// 全局配置
new GlobalConfig()
.setOutputDir("codePath")//指定输出目录
.setFileOverride(true)// 是否覆盖文件
.setActiveRecord(true)// 开启 activeRecord 模式
.setEnableCache(false)// XML 二级缓存
.setBaseResultMap(true)// XML ResultMap
.setBaseColumnList(true)// XML columList
.setAuthor("alice")
// 自定义文件命名,注意 %s 会自动填充表实体属性!
.setMapperName("%sMapper")
.setXmlName("%sMapper")
.setServiceName("%sService")
.setServiceImplName("%sServiceImpl")
.setControllerName("%sController"))
.setDataSource(
// 数据源配置
new DataSourceConfig()
.setDbType(DbType.MYSQL)// 数据库类型
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUsername("root")
.setPassword("root")
.setUrl("jdbc:mysql://localhost:3306/poi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false"))
.setStrategy(
// 策略配置
new StrategyConfig()
// .setCapitalMode(true)// 全局大写命名
// .setDbColumnUnderline(true)// 全局下划线命名
//.setTablePrefix(new String[]{"wp_"})// 指定表名前缀
.setNaming(NamingStrategy.underline_to_camel)// 表名生成策略
.setInclude("book") // 指定表名,不写会默认生成所有
// .setExclude(new String[]{"test"}) // 指定要排除的表
// 自定义实体父类
// .setSuperEntityClass("com.baomidou.demo.TestEntity")
// 自定义实体,公共字段
// .setSuperEntityColumns(new String[]{"id"})
.setTableFillList(tableFillList))
.setPackageInfo(
// 包配置
new PackageConfig()
.setParent("book")// 自定义包路径
.setController("controller")
.setMapper("mapper")
.setEntity("entity")
.setService("service")
.setServiceImpl("service.impl"))
.setTemplate(
// 关闭默认 xml 生成,调整生成 至 根目录
new TemplateConfig().setXml(null)
);
// 执行生成
mpg.execute();
}
}
3、执行main方法,就会生成所需要的文件