maven 依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.3</version>
</dependency>
<!-- MP 代码生成工具需要的依赖1 velocity-engine-core 2 slf4j-api 3slf4j-log4j12 -->
<!-- Apache velocity -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
注意:未引入 mysql-connector-java 依赖 数据库未连上,报:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
package com.example.demo.mybatisplus;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class MyBatisPlusGenerator {
public static void main(String[] args) throws SQLException {
AutoGenerator ag = new AutoGenerator();
//1. 全局配置
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(true); // 是否支持AR模式
config.setAuthor("Nicholas") ;// 作者
config.setOutputDir("D://test/read"); // 生成路径
config.setFileOverride(true); // 文件覆盖
config.setIdType(IdType.AUTO) ;// 主键策略
// 自定义文件命名,注意 %s 会自动填充表实体属性!
config.setMapperName("%sReadMapper");
config.setXmlName("%sReadMapper");
config.setServiceName("%sReadService");
config.setServiceImplName("%sReadServiceImpl");
config.setBaseResultMap(true);//生成基本的resultMap
config.setBaseColumnList(true);//生成基本的SQL片段
config.setEnableCache(false);// XML 二级缓存
ag.setGlobalConfig(config);
//2. 数据源配置
DataSourceConfig dsConfig = new DataSourceConfig();
dsConfig.setDbType(DbType.MYSQL); // 设置数据库类型
dsConfig.setDriverName("com.mysql.jdbc.Driver");
dsConfig.setUsername("root");
dsConfig.setPassword("");
dsConfig.setUrl(
"jdbc:mysql://localhost:3306/jv_fms?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true");
ag.setDataSource(dsConfig);
//3. 策略配置globalConfiguration中
StrategyConfig stConfig = new StrategyConfig();
stConfig.setCapitalMode(true); //全局大写命名
stConfig.setDbColumnUnderline(true); // 指定表名 字段名是否使用下划线
stConfig.setNaming(NamingStrategy.underline_to_camel);// 数据库表映射到实体的命名策略
// 此处可以修改为您的表前缀
stConfig.setTablePrefix("tbl_");
stConfig.setInclude(new String[] { "hy_doctor","hy_dept"}); // 需要生成的表
ag.setStrategy(stConfig);
//4. 包名策略配置
PackageConfig pkConfig = new PackageConfig();
pkConfig.setParent("com.haoyi")
.setMapper("mapper")//dao
.setService("service")//servcie
.setController("controller")//controller
.setEntity("entity")
.setXml("mapper");//mapper.xml
ag.setPackageInfo(pkConfig);
//5. 执行
ag.execute();
}
}
MyBatis的逆向工程相比,MP可生成service,controller等等