1、首先导入依赖
ps:注意这里mybatis-plus-generator的版本,很多时候版本不同会报错,此处使用的是3.5.3版本
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!--mybatis-plus generator-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3</version>
</dependency>
<!--freemarker模板引擎-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<!--swagger文档注解-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.2</version>
</dependency>
<!--druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.15</version>
</dependency>
2、在application.yml中创建数据库信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3307/guigu-auth?serverTimezone=UTC
username: root
password: root
3、使用自动生成器代码自动生成
public class MybatisPlusGenerator {
public static void main(String[] args) {
//数据库连接地址,这里直接选择的数据库是以前的尚硅谷项目使用的数据库guigu-auth
String url="jdbc:mysql://localhost:3307/guigu-auth?serverTimezone=UTC";
//数据库连接的用户名和密码
String username="root";
String password="root";
FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author("zjj") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("D:\\App\\Springboot\\mybatis-plus-demo\\src\\main\\java"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.hubu") // 设置父包名
.moduleName("mybatisplusdemo") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\App\\Springboot\\mybatis-plus-demo\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("sys_user") // 设置需要生成的表名
.addTablePrefix("sys_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
ps:主要需要修改的地方就是
【1】url:数据库连接地址
【2】username:数据库用户名
【3】password:数据库密码
【4】outputDir:只用到main/java目录
【5】parent:父包名,比如创建文件时候为com.itheima
【6】moduleName:模块名,比如创建文件的时候的模块名
【7】pathInfo:mapper.xml文件的输出位置,如果Generator的版本比较低,则此处的OutputFile.xml可能会报错,可以尝试一下吧OutputFile.xml修改为OutputFile.mapperXml
【8】addInclude:设置需要生成的表名和addTablePrefix设置过滤表前缀
4、在启动类中添加MapperScan注解,确保能够扫描到mapper,不然会报错,提示没有bean
@MapperScan("com.hubu.mybatisplusdemo.mapper")
5、大功告成,一定要在测试类里面测试一下
@SpringBootTest
class MybatisPlusDemoApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void testSelectList() {
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}