逆向工程搭建的一般步骤

逆向工程搭建的一般步骤

一、下载jar包:

 

二、配置逆向工程文件:

<?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="MybatisGenerator" targetRuntime="MyBatis3">
  <!-- 是否去除逆向生成中的注释 true:是;false:否-->
  <commentGenerator>
      <property name="suppressAllComments" value="true" />
  </commentGenerator>
  <!-- 配置数据库连接信息 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.1.150:3306/cat?characterEncoding=utf8" userId="root"
        password="123456">
    </jdbcConnection>
    <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和   NUMERIC 类型解析为java.math.BigDecimal -->  
    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
<!-- 指定javabean  生成的路径 -->
    <javaModelGenerator targetPackage="www.nixianggongcheng.com.role.model" targetProject=".srcmainjava">
      <property name="enableSubPackages" value="false" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>
<!-- 指定sql映射文件  生成的路径 -->
    <sqlMapGenerator targetPackage="www.nixianggongcheng.com.role.dao" targetProject=".srcmainjava">
      <property name="enableSubPackages" value="false" />
    </sqlMapGenerator>
<!-- 指定DAO接口  生成的位置 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="www.nixianggongcheng.com.role.dao"  
    targetProject=".srcmainjava">
      <property name="enableSubPackages" value="false" />
    </javaClientGenerator>
<!-- 指定每个表的生成策略    表名    生成的类名-->
    <table tableName="u_role"></table>
  </context>
</generatorConfiguration>

三、编写java启动类,执行逆向工程的配置文件,生成数据库中指定表的model和dao层:(注意:启动类中创建File中的路径是从本项目中开始的,需要找到从项目开始写起,直到找到配置文件的路径即可

public class MyGenerator {
	public void generate() throws Exception {  
        List<String> warnings = new ArrayList<String>();  
        boolean overwrite = true;  
        File configFile = new File("conf/GeneratorConfig.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);  
    }  
  
    public static void main(String[] args) throws Exception {  
        try {  
            MyGenerator myGenerator = new MyGenerator();  
            myGenerator.generate();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}

四、处理下自动生成的model和dao层:需要非常注意一下事项

model层中:

1、实体类中只有属性和set、get方法,需要自己创建空参构造方法、全参构造方法、重写toString等方法;

dao层中:

1、接口中的方法最好是全部删掉,根据自己的需要重新写自己的方法;

2、配置文件中的实体类与数据库映射的关系中javaType属性最好删掉,不然有可能会对ssm、ssh框架产生异常;配置文件中的sql最好全部删掉,根据自己的需要重新写sql语句;

五、将处理的model和dao层复制到当前工作的项目中去:

将经过处理的model和dao层中的类和配置文件,复制到当前工作开发的项目中去,这样可以快速、高效的开发项目;

总结:通过逆向工程主要是获取model中的实体类和dao层中配置文件中实体类与数据库表的映射关系;

原文地址:https://www.cnblogs.com/lsy-blogs/p/7569243.html