您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# SpringBoot中如何使用tk.mybatis代码生成器
## 一、tk.mybatis简介
tk.mybatis是一个基于MyBatis的轻量级通用Mapper框架,它通过提供通用Mapper接口和代码生成器,可以大幅减少MyBatis开发中的重复代码。其中代码生成器模块能够根据数据库表结构自动生成:
- 实体类(Entity)
- Mapper接口
- XML映射文件
## 二、环境准备
### 1. 添加依赖
在SpringBoot项目的`pom.xml`中添加以下依赖:
```xml
<!-- tk.mybatis核心包 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- 代码生成器 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-generator</artifactId>
<version>1.1.5</version>
<scope>provided</scope>
</dependency>
<!-- 模板引擎 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
确保application.yml
中已配置数据源:
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_db?useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
在test
目录下新建GeneratorRunner.java
:
public class GeneratorRunner {
public static void main(String[] args) {
// 代码生成器配置
AutoGenerator generator = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
gc.setAuthor("YourName");
gc.setOpen(false);
generator.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/your_db");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
generator.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo");
pc.setEntity("entity");
pc.setMapper("mapper");
generator.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setInclude("user", "order"); // 需要生成的表名
generator.setStrategy(strategy);
generator.execute();
}
}
配置项 | 说明 |
---|---|
setOutputDir | 指定生成文件的输出目录 |
setInclude | 指定需要生成的表(支持多表,用逗号分隔) |
setEntityLombokModel | 是否使用Lombok注解(推荐true) |
setNaming | 数据库字段到实体属性的命名策略(推荐下划线转驼峰) |
GeneratorRunner.main()
方法生成成功
提示后,检查目标目录:
src/main/java
└── com
└── example
└── demo
├── entity # 实体类
├── mapper # Mapper接口
└── xml # XML映射文件
@MapperScan("com.example.demo.mapper")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getById(Long id) {
return userMapper.selectByPrimaryKey(id);
}
}
src/main/resources/generator
下的.ftl
文件定制生成模板通过tk.mybatis代码生成器,我们可以在SpringBoot项目中快速生成基础CRUD代码,将开发效率提升50%以上。相比传统MyBatis开发方式,减少了大量重复工作,让开发者更专注于业务逻辑实现。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。