接下来我将详细讲解如何使用MyBatis-plus和达梦数据库实现自动生成代码的步骤和注意事项。
环境准备
- JDK 1.8及以上版本
- Maven 3.5及以上版本
- Spring Boot 2.x及以上版本
- MyBatis-plus 3.x及以上版本
- 达梦数据库 JDBC 驱动程序
步骤一:添加依赖
首先,在使用 MyBatis-plus 时,需要添加相应的依赖。在 pom.xml
文件中添加以下代码:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>dm.jdbc</groupId>
<artifactId>dm7jdbc</artifactId>
<version>7.1.5_jre7</version>
</dependency>
步骤二:配置 MyBatis-plus
然后,需要对 MyBatis-plus 进行配置。在 application.yml
文件中,添加以下代码:
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
global-config:
db-config:
logic-delete-value: 1
logic-not-delete-value: 0
configuration:
map-underscore-to-camel-case: true
其中,mapper-locations
指定了 mapper 文件的位置,global-config
配置全局的参数,configuration
则是 MyBatis-plus 的其他配置。
步骤三:生成代码
接下来,可以使用 MyBatis-plus 提供的代码生成器,快速生成代码。在 pom.xml
文件中添加以下代码:
<build>
<plugins>
<plugin>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</plugin>
</plugins>
</build>
然后,在 src/main/java
目录下,新建一个名为CodeGenerator
的类,添加以下代码:
public class CodeGenerator {
public static void main(String[] args) {
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.DM);
dataSourceConfig.setDriverName("dm.jdbc.driver.DmDriver");
dataSourceConfig.setUsername("test");
dataSourceConfig.setPassword("test123456");
dataSourceConfig.setUrl("jdbc:dm://192.168.1.10:5236/TEST?serverTimezone=GMT%2B8");
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir("src/main/java");
globalConfig.setFileOverride(true);
globalConfig.setBaseResultMap(true);
globalConfig.setBaseColumnList(true);
globalConfig.setAuthor("yourname");
// 代码生成器
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig);
autoGenerator.setDataSource(dataSourceConfig);
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example.demo");
packageConfig.setEntity("model");
// 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
autoGenerator.setPackageInfo(packageConfig);
List<TableFill> tableFills = new ArrayList<>();
tableFills.add(new TableFill("create_time", FieldFill.INSERT));
tableFills.add(new TableFill("update_time", FieldFill.INSERT_UPDATE));
strategyConfig.setEntityTableFieldAnnotationEnable(true);
strategyConfig.setTableFillList(tableFills);
autoGenerator.setStrategy(strategyConfig);
autoGenerator.execute();
}
}
在上面的代码中,首先需要设置数据源的信息。然后,全局配置指定了代码生成的输出目录、是否覆盖已有文件、是否生成 BaseResultMap 和 BaseColumnList 以及生成的作者。最后,设置包和策略配置。执行 main 方法,即可生成代码。
示例一:用户表
以用户表为例,该表的结构如下:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(50) DEFAULT NULL COMMENT '用户名',
`age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` tinyint(4) DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';
执行代码生成后,就可以得到以下文件:
User.java
实体类UserMapper.java
Mapper 接口UserMapper.xml
Mapper XML 文件UserService.java
Service 层接口UserServiceImpl.java
Service 层实现类
示例二:文章表
再以文章表为例,该表的结构如下:
CREATE TABLE `article` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(255) DEFAULT NULL COMMENT '标题',
`content` text COMMENT '内容',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`deleted` tinyint(4) DEFAULT '0' COMMENT '删除标记',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章表';
执行代码生成后,得到的文件与上面的示例是类似的。
综上所述,使用 MyBatis-plus 和达梦数据库实现自动生成代码,可以大大减少人为的代码编写量,提高开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis-plus+达梦数据库实现自动生成代码的示例 - Python技术站