使用逆向工程遇到的坑
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&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,第二次执行了下测试方法,就蜜汁成功了。--_--
以上是关于使用逆向工程遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章