使用逆向工程遇到的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用逆向工程遇到的坑相关的知识,希望对你有一定的参考价值。

1,前言

 先说下逆向工程是干嘛的,他就是用来自动生成JAVA POJO类,并同时生成Mapper.xml和Mapper接口的东东。

2,使用方法

1)由于建立的是maven工程,所以先在pom.xml文件中导入jar包,如图:
技术分享图片
2)根据mybatis generator官方文档,新建mpg.xml并copy相关代码。

<?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">
        <!-- 不自动生成注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <!-- 配置数据库连接信息 -->
        <jdbcConnection 
            driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/ssm_crud?serverTimezone=GMT&amp;useSSL=false"
            userId="root"
            password="123456">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 指定JavaBean生成的位置 -->
        <javaModelGenerator
            targetPackage="com.zgz.crud.bean" targetProject=".srcmainjava">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!-- 指定sql映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="mapper"
            targetProject=".srcmain
esources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 指定dao接口生成的位置,mapper接口 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.zgz.crud.dao" targetProject=".srcmainjava">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- table指定每张表的生成策略 -->
        <table tableName="tbl_emp" domainObjectName="Employee"></table>
        <table tableName="tbl_dept" domainObjectName="Department"></table>

    </context>
</generatorConfiguration>

3)还是根据官方文档,给出执行代码,如图:
技术分享图片
4)执行,给出官方文档的网址,如下:
  http://www.mybatis.org/generator/configreference/xmlconfig.html

3,遇到的坑及解决办法

 1)Mybatis Generator 不识别主键,无法生成selectByPrimaryKey、deleteByPrimaryKey、updateByPrimaryKey。
 2)问题描述和解决方法如图:
技术分享图片
 3)逆向工程,重新生成不会覆盖原文件,会在原来基础上再生成
敲重点:上面的第一个问题,究其原因无非就是与mysql相关的jar包的版本太高,终极解决办法是更换jar包,反正我没找到另外的方法,至于第三个问题我只是重启了eclipse,第二次执行了下测试方法,就蜜汁成功了。--_--

以上是关于使用逆向工程遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

项目实战--idea中使用Git遇到的坑

JAVA MyBatis 逆向工程 遇到的坑

Objective_C与Swift混编遇到的坑

springboot-mybatis-demo遇到的坑

QT5.8+VS2015 开发时遇到的坑

app审核遇到的坑