Eclipse反向工程

反向工程:根据数据库生产实体类+dao+映射文件

只需三步

1、写一个xml文件  generatorConfig.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="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/smbms" userId="root"
password="20152016">
</jdbcConnection>
<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" 
userId="yycg"
password="yycg">
</jdbcConnection> -->


<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
NUMERIC 类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>


<!-- targetProject:生成实体类的位置 -->
<javaModelGenerator targetPackage="com.smbms.entity"
targetProject=".\src\main\java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.smbms.mapper" 
targetProject=".\src\main\resources">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.smbms.dao" 
targetProject=".\src\main\java">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>


<!-- 指定数据库表 要生成几个写一个一张表对应一个实体类-->
<table schema="" tableName="smbms_user"></table>


<!-- 有些表的字段需要指定java类型-->
<table schema="" tableName="smbms_user">
<columnOverride column="id" javaType="java.lang.Integer" />
<columnOverride column="userCode" javaType="java.lang.String" />
<columnOverride column="userName" javaType="java.lang.String" />
<columnOverride column="userPassword" javaType="java.lang.String" />
<columnOverride column="gender" javaType="java.lang.Integer" />
<columnOverride column="birthday" javaType="java.util.Date" />
<columnOverride column="phone" javaType="java.lang.String" />
<columnOverride column="address" javaType="java.lang.String" />
<columnOverride column="userRole" javaType="java.lang.Integer" />
<columnOverride column="createdBy" javaType="java.lang.Integer" />
<columnOverride column="creationDate" javaType="java.util.Date" />
<columnOverride column="modifyBy" javaType="java.lang.Integer" />
<columnOverride column="modifyDate" javaType="java.util.Date" />
<columnOverride column="idPicPath" javaType="java.lang.Integer" />
<columnOverride column="workPicPath" javaType="java.lang.Integer" />
</table> 
</context>
</generatorConfiguration>


2、在pom.xml文件配置


      <plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.0</version>
</plugin>


3、写一个java运行代码   GeneratorSqlmap.java   代码运行完后建议直接删除,不可运行第二遍

package Reverse;


import java.io.File;
import java.util.ArrayList;
import java.util.List;


import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;


public class GeneratorSqlmap {


public void generator() throws Exception {


List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
// 指定 逆向工程配置文件


File configFile = new File(GeneratorSqlmap.class.getClassLoader()
.getResource("generatorConfig.xml").getPath());
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);


}


public static void main(String[] args) throws Exception {
// System.out.println(GeneratorSqlmap.class.getClassLoader()
// .getResource("generatorConfig.xml").getPath());
try {
GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
generatorSqlmap.generator();
} catch (Exception e) {
e.printStackTrace();
}


}


}


生成映射文件后 建议检查一下是否重复(会重复一遍)     如果有请删掉()




猜你喜欢

转载自blog.csdn.net/weixin_39816332/article/details/78931056