mybatis-plus一键生成mapper.controller.service等文件
需要有springboot和mybatis-plus基础
·
mybatis-plus只是mybatis的增强版,其原理不变,只做功能的增强。下面演示一键生成文件
首先创建数据库,存两张表,
创建spring-boot工程,
引入mybatis-plus和一键生成需要的依赖
<!-- mybatis-plus自动代码生成器1 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!-- mybatis-plus自动代码生成器2 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
在Test中创建MybatisPlusTest,输入以下代码
package com.mybatisplusstudy;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Collections;
@SpringBootTest
public class MybatisPlusTest {
public static void main(String[] args) {
/** 数据连接 记得改成你的数据库,用户名和密码 */
FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatis-plus?serverTimezone=GMT%2B8", "root", "root")
.globalConfig(builder -> {
builder.author("紫金") // 设置作者
//.enableSwagger() // 开启 swagger 模式
// .fileOverride() // 释放执行就会覆盖已生成文件
//鼠标右击蓝色java目录,选择Copy Path... 选择 Absolute Path 即可复制路径,粘贴到下面即可
.outputDir("C:\\Users\\23500\\Desktop\\mybatis-plus-study\\src\\main\\java"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.mybatisplusstudy") // 设置父包名
// .moduleName("") // 设置父包模块名 需要你就设置
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "C:\\Users\\23500\\Desktop\\mybatis-plus-study\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
//
builder.addInclude("user").addInclude("book")// 设置需要生成的表名
// builder.addTablePrefix("t_", "c_"). // 设置过滤表前缀 卡尼的表是否存在前缀
;
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
之后点击执行main()方法即可生成文件
在yml中配置数据库的连接和日志
spring:
datasource:
url: jdbc:mysql://localhost:3306/mybatis-plus?serverTimezone=GMT%2B8
password: root
username: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
接下来进行测试,在测试类中通过注解属性方式导入,进行数据查询,查看有问题没有
出现报错,原因是没有将Mapper进行注解,启动类没有扫描到Mapper。这里有两个方式,第一个方式就是在Mapper文件上进行注解 (所有Mapper文件都要注解)
再次执行,发现没有问题
第二种是在启动类上注解@MapperScan(maper文件路径)
使用这个方式就不需要注解@Mapper , 在启动类上注解@MapperScan有个缺点就是
在属性注入时会报红,这是idea的缘故,不会对结果有任何影响,所以看你选择是@Mapper还是@MapperScan,这两个注解都有优缺点
有什么不足之处还请多担待,欢迎大家进行留言
更多推荐
已为社区贡献1条内容
所有评论(0)