mybatis代码自动生成工具
时间: 2023-12-05 07:41:19 浏览: 97
Mybatis是一个优秀的ORM框架,可以帮助我们快速地进行数据库操作。而Mybatis代码自动生成工具可以帮助我们快速生成Java类和Mybatis对应的SQL语句,从而提高开发效率。以下是两种常用的Mybatis代码自动生成工具:
1. Mybatis Generator
Mybatis Generator是Mybatis官方提供的代码自动生成工具,可以根据数据库表生成Java类和Mybatis对应的SQL语句。使用Mybatis Generator需要编写一个XML配置文件,指定数据库连接信息、生成的Java类和SQL语句的包名、生成的表等信息。以下是一个简单的Mybatis Generator配置文件示例:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="DB2Tables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test"
userId="root"
password="root">
</jdbcConnection>
<javaModelGenerator targetPackage="com.example.model"
targetProject="src/main/java">
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.example.mapper"
targetProject="src/main/resources">
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.example.mapper"
targetProject="src/main/java">
</javaClientGenerator>
<table tableName="user"></table>
</context>
</generatorConfiguration>
```
2. Mybatis-Plus Generator
Mybatis-Plus是Mybatis的增强工具,在Mybatis的基础上提供了更多的功能。Mybatis-Plus Generator是Mybatis-Plus提供的代码自动生成工具,可以快速生成Entity、Mapper、Mapper XML、Service、Controller等各个模块的代码。使用Mybatis-Plus Generator需要编写一个Java类,指定数据库连接信息、生成的Java类和SQL语句的包名、生成的表等信息。以下是一个简单的Mybatis-Plus Generator配置类示例:
```java
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example");
pc.setEntity("model");
pc.setMapper("mapper");
pc.setXml("mapper.xml");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setController("controller");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setInclude("user");
mpg.setStrategy(strategy);
// 执行生成
mpg.execute();
}
}
```
阅读全文