创建一个空的Springboot项目
导入相关依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--引入MyBatis-Plus的依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!--代码生成器依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.2</version> </dependency> <!--模板引擎依赖--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
编写一个代码生成器工具类
- 里面的相关配置自行修改
public class CodeTest { public static void main(String[] args) { FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatis_plus", "root", "root") // 全局配置 .globalConfig(builder -> { builder.outputDir(System.getProperty("user.dir") + "/src/main/java")//设置输出目录 // 设置作者 .author("QiJingJing") // 设置不打开输出目录 .disableOpenDir() // 配置日期类型 .commentDate("yyyy-MM-dd") // 配置日期类型 .dateType(DateType.ONLY_DATE); // 可以配置swagger .enableSwagger() }) // 包配置 .packageConfig(builder -> { builder.moduleName("generator")// 设置包名 // 设置在哪个包下 .parent("com.lili") // 实体类的名字 .entity("entity") // mapper层的名字 .mapper("mapper") // service层的名字 .service("service") //controller层的名字 .controller("controller") // 添加mapper.xml生成路径 .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir")+"/src/main/resources/mapper")); }) // 策略配置 .strategyConfig(builder -> { builder.addInclude("user")// 映射的表名 // 添加过滤表前后缀 // .addTablePrefix("填写表前缀") // .addTableSuffix("填写表后缀") // entity 策略配置 .entityBuilder().enableLombok() // 开启lombok // 表名下划线转驼峰 .naming(NamingStrategy.underline_to_camel) // 字段名下划线转驼峰 .columnNaming(NamingStrategy.underline_to_camel) // 全局主键类型 .idType(IdType.AUTO) // 配置逻辑删除字段名 //.logicDeleteColumnName("逻辑删除字段名") //.logicDeletePropertyName("逻辑删除属性名") // 配置乐观锁 //.versionColumnName("乐观锁字段名") //.versionPropertyName("乐观锁属性名") //表字段补充 //.addTableFills(new Column("create_time", FieldFill.INSERT)) //.addTableFills(new Property("updateTime", FieldFill.INSERT_UPDATE)) // service层策略配置 .serviceBuilder() .formatServiceFileName("%sService") .formatServiceImplFileName("%sServiceImpl") // controller 策略配置 .controllerBuilder().enableHyphenStyle()// 开启下划线命名 // 开启生成@RestController .enableRestStyle() // mapper层策略配置 .mapperBuilder() // 开启mapper层注解 .enableMapperAnnotation(); }).execute(); } }
执行即可
来试一个简单的查询
1、yml进行配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=root spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
2、service接口增加一个查询所有的方法:
3、serviceImpl添加对应的实现
4、编写测试类进行测试
结果: