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中测试我们的整合结果
然后运行项目 在浏览器输入对应的地址
可见已经查询出来了 我们整合成功