逆向工程

 什么是逆向工程:

        mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。

        企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。

        之所以强调单表两个字,是因为Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的,也许你可能会觉得那这就有点鸡肋了,但是在大型项目中,很少有复杂的多表关联查询,所以作用还是很大的。

下载逆向工程:

 

来自官网~

翻译过来就是:

  • 从带有XML配置的命令提示符
  • 作为具有XML配置的Ant任务
  • 作为一个Maven插件
  • 从另一个java程序,基于XML配置
  • 从另一个java程序,基于java的配置
  • 通过Eclipse插件

一般来说,我们会选择使用一个Java程序,基于XML配置来生成代码,下面来介绍具体操作。

这里是我的一个配置文件,还有jar包。
 
 

一般要修改的内容!!!

  • 数据库驱动、地址、用户名、密码
  • POJO类、mapper接口、mapper映射文件生成的位置
  • 指定数据表
这个是我 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/mybatis" userId="root"
password="1111">
</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.juzhen.PO"
targetProject="./src">
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>


<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="com.juzhen.Mapper"
targetProject="./src">
</sqlMapGenerator>

<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.juzhen.Mapper" targetProject="./src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>

<!-- 指定数据库表 -->
<table tableName="items"></table>
<table tableName="orders"></table>
<table tableName="orderdetail"></table>
<table tableName="user"></table>

</context>
</generatorConfiguration>



配置完之后,在主函数中加上这些代码,有异常上抛就完事了~

然后,把生成的Mapper,PO文件,复制到你需要的工程中。就可以用了~

我们会发现生成的方法中,有Example这样的单词,我们可以饮用包装类来实现我们想要的查询功能。

如果没有能满足你的语句,自己添加也是可以的!

原文地址:https://www.cnblogs.com/buwang/p/9958646.html