1 新建一个springboot项目
2加入mybatisPlus依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<dependency><!--添加代码生成器-->
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
3 在yml文件中配置mysql数据库
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
#url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8 上面这个不对 是因为mysql8.0以上新加了特性
url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root
password: admin
4代码生成
public class main {
public static void main(String[] args) {
//创建Generator 对象
AutoGenerator autoGenerator = new AutoGenerator();
//数据源
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);
//如果是远端的数据库 需要把localhost改成ip地址就好了
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("admin");
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
autoGenerator.setDataSource(dataSourceConfig);
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
globalConfig.setOutputDir(projectPath+"/src/main/java");//这样会拿到工程的绝对路径
//System.getProperty("user.dir") 就是当前工程的绝对目录
globalConfig.setOpen(false);//创建好工程之后不会自动打开
globalConfig.setAuthor("zf");//
globalConfig.setServiceName("%sService");//加上这句代码 在生成Service类的时候就不会默认前面有I了
autoGenerator.setGlobalConfig(globalConfig);
//包信息
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.zf.blog");
packageConfig.setModuleName("generator");
packageConfig.setController("controller");
packageConfig.setService("service");
packageConfig.setServiceImpl("servicce.impl");
packageConfig.setMapper("mapper");
packageConfig.setEntity("entity");
autoGenerator.setPackageInfo(packageConfig);
//如果使用默认的模板 velocity 这里就不用设置模板信息了 我们这里用freemarker需要配置
// 自定义配置
//配置策略
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setEntityLombokModel(true);//实体类生成之后自动添加lombok注解
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);//将数据库中带下划线的转成驼峰规则
autoGenerator.setStrategy(strategyConfig);
autoGenerator.execute();//配置完之后运行
}
}
生成的文件如作图所示
5在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹
6运行main函数 生成代码
这里需要注意的生成的entity是数据库中的表的实体类
7 在controller中测试我们的整合结果
然后运行项目 在浏览器输入对应的地址
可见已经查询出来了 我们整合成功