逆向工程

匿名 (未验证) 提交于 2019-12-02 22:56:40

所需依赖

  <!--mybatis相关依赖-->         <dependency>             <groupId>org.mybatis</groupId>             <artifactId>mybatis</artifactId>             <version>3.4.6</version>         </dependency>               <!--mysql-connector-->         <dependency>             <groupId>mysql</groupId>             <artifactId>mysql-connector-java</artifactId>             <version>5.1.39</version>         </dependency>         <!--spring-jdbc-->         <dependency>             <groupId>org.springframework</groupId>             <artifactId>spring-jdbc</artifactId>             <version>5.0.5.RELEASE</version>         </dependency>

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/myproject?useSSL=true" userId="root"                         password="123456">         </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:生成PO类的位置 -->         <javaModelGenerator targetPackage="com.chao.myproject.bean"                             targetProject="./src/main/java">                             <!--如果是window系统,使用"\"-->              <!-- enableSubPackages:是否让schema作为包的后缀 -->             <property name="enableSubPackages" value="false" />             <!-- 从数据库返回的值被清理前后的空格 -->             <property name="trimStrings" value="true" />         </javaModelGenerator>         <!-- targetProject:mapper映射文件生成的位置 -->         <sqlMapGenerator targetPackage="com.chao.myproject.mapper"                          targetProject="./src/main/java">             <!-- enableSubPackages:是否让schema作为包的后缀 -->             <property name="enableSubPackages" value="false" />         </sqlMapGenerator>         <!-- targetPackage:mapper接口生成的位置 -->         <javaClientGenerator type="XMLMAPPER"                              targetPackage="com.chao.myproject.mapper"                              targetProject="./src/main/java">             <!-- enableSubPackages:是否让schema作为包的后缀 -->             <property name="enableSubPackages" value="false" />         </javaClientGenerator>         <!-- 指定数据库表 -->         <table schema="" tableName="account"></table>         <table schema="" tableName="service"></table>          <!-- 有些表的字段需要指定java类型          <table schema="" tableName="">             <columnOverride column="" javaType="" />         </table> -->     </context> </generatorConfiguration>

生成代码

 import java.io.File; import java.util.ArrayList; import java.util.List;  /* I AM A PURE SHEEP  *                     * WHAT YOU WANT TO DO                   *                   * FUCK AS YOU WISH                                             */ public class GeneratorSqlmap {     public void generator() throws Exception{         List<String> warnings = new ArrayList<String>();         boolean overwrite = true;         //指定 逆向工程配置文件         File configFile = new File("/Users/dllo/Desktop/GitDemo/GitAAAA/ReverseDemo/src/main/resources/reverse.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 {             GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();             generatorSqlmap.generator();         } catch (Exception e) {             e.printStackTrace();         }      }  } 

可能会报的错误:

Table name pattern can not be NULL or empty.

解决方案

1.产生错误的原因: 工程引用了mysql-connector-java-6.*.jar。
解决方法:mysql-connector-java-5.1.39.jar,或更低版本

2.jdbc:mysql:///?nullNamePatternMatchesAll=true

文章来源: 逆向工程
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!