Java部分
public class Main {
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
//file中的url需要绝对路径
File configFile = new File("D:\\Maven\\ssm-parent\\mapper-generator\\src\\main\\resources\\config.xml");
//如:"D://Users/Mac/eclipse-20200423/mybatis- 1098z-5-2/src/config.xml"
//配置文件解析
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);
myBatisGenerator.generate(null);
}
}
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>
<!-- 定义逆向工程内容
id:默认id
targetRuntime:目标运行的mybatis
-->
<context id="DB2Tables" targetRuntime="mybatis3">
<!-- 配置数据库连接信息 -->
<jdbcConnection
driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/ssm?serverTimezone=UTC"
userId="root"
password="123456">
</jdbcConnection>
<!--配置Java类型解析器 -->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--配置pojo的生成位置
targetPackage:生成的pojo所在的包,不需要写类名
targetProject:生成的默认位置
./:表示生成在当前项目中
-->
<javaModelGenerator targetPackage="com.pojo" targetProject=".\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 用于配置映射文件的生成位置
targetPackage:生成的xml所在的包,不需要写类名
targetProject:生成的默认位置
-->
<sqlMapGenerator targetPackage="com.mapper" targetProject=".\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 用于配置接口文件的生成位置
targetPackage:生成的interface所在的包,不需要写类名
targetProject:生成的默认位置
-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.mapper" targetProject=".\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 配置当前连接的数据库需要逆向工程的表
schema:指定数据库名称
tableName:指定表名称
这里可以添加多个table
-->
<table schema="ssm" tableName="s_user">
</table>
</context>
</generatorConfiguration>
需要依赖:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>