前言:在mybatis框架中为了提高编程效率,没必要重复创建一些类和接口,从而让代码生成器为我们自动创建这个类和接口。
1.代码生成器会为我们生成的文件:
(1). 实体类 Entity.java (repository部分)
(2). controller类 Contorller.java (这个没什么用可以,因为是根据需求自己创建)
(3). mapper接口 Mapper.java (repository部分)
(4). mapper类对应的配置文件 Mapper.xml文件
(5). service接口 IService.java (service部分)
(6). service类对应的实现类 ServiceImpl.java
2.使用代码自动生成器的条件:
(1). 数据库里面有相应的实体类表
(2). 数据库可以被连接上
(3). 已经配置好连接数据库的.properties文件
(4). 已经引入了相应的文件
3.相应的pom文件
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
4.代码生成器代码
public class MPGenerator {
/**
* MySQL 生成演示, 使用时有三处需要改成自己的信息
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
//文件输出路径
gc.setOutputDir((new File("")).getAbsolutePath()+"/src/main/java");
gc.setFileOverride(true);
gc.setActiveRecord(true);
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
//作者
gc.setAuthor("SamGroves");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setTypeConvert(new MySqlTypeConvert() {
// 自定义数据库表字段类型转换【可选】
@Override
public DbColumnType processTypeConvert(String fieldType) {
System.out.println("转换类型:" + fieldType);
return super.processTypeConvert(fieldType);
}
});
// 修改成自己的数据库
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setUrl("jdbc:mysql://192.168.0.3:8888/test?useUnicode=false&autoReconnect=true&characterEncoding=utf-8");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略,下划线转驼峰
// 修改成自己需要的表
strategy.setInclude(new String[]{"bus_coupon", "bus_coupon_user"}); // 需要生成的表,多个表逗号隔开
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
// 修改成自己项目的包名
pc.setParent("com.test");
pc.setEntity("entity");
pc.setMapper("mapper");
pc.setXml("mapper.impl");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setController("controller");
mpg.setPackageInfo(pc);
mpg.execute();
System.out.println("生成完毕");
}
}
4.生成效果展示
注:在配置好.properties文件和相应的pom文件之后,运行MPGenerator.java即可生成所需
的文件,直接生成的src文件目录里面的各个部分自己复制到相应的模块中使用。
官网文章链接🔗:http://baomidou.oschina.io/mybatis-plus-doc/#/generate-code