简单来讲,就是替咱们生成Java代码。html
以前使用Mybatis的Mapper代理方法开发,还须要本身建立实体类,并且属性还得和数据库中的字段对应。这着实是机械化的并且比较麻烦的事,而机械化的事情正是代码所擅长的,因而Mybatis官方就提供了MyBatis Generator ,能够经过简单的配置替咱们针对单表自动生成mapper接口,mapper.xml,以及实体类。java
就须要添加一个jar包mysql
固然,mybatis核心包以及数据库驱动包仍是和以前使用Mybatis的时候同样。sql
名称、位置随意。数据库
配置文件里的内容在MyBatis Generator官网上能够直接复制。官网网址:http://www.mybatis.org/generator/running/runningWithJava.htmlmybatis
进去以后点击XML Configuration Reference 把右侧的代码复制。app
这里我贴一份我本身的配置文件,我也是官网复制的,只是添加了一些注释。ide
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 6 <generatorConfiguration> 7 8 <context id="DB2Tables" targetRuntime="MyBatis3"> 9 <commentGenerator> 10 <!-- 是否去除自动生成的注释 true:是;false:否 --> 11 <property name="suppressAllComments" value="true"/> 12 </commentGenerator> 13 <!-- 数据库链接的信息:驱动类,链接地址,用户名,密码 --> 14 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 15 connectionURL="jdbc:mysql://localhost:3306/xtkj" 16 userId="root" 17 password="root"> 18 </jdbcConnection> 19 20 <!-- 默认为false,把JDBC DECIMAL 和 NUMERIC 类型解析为Integer,为true时把 把JDBC DECIMAL 和 21 NUMERIC 类型解析为java.math.BigDecimal--> 22 <javaTypeResolver > 23 <property name="forceBigDecimals" value="false" /> 24 </javaTypeResolver> 25 26 <!-- 生成po类的位置 --> 27 <javaModelGenerator targetPackage="com.xtkj.ssm.pojo" targetProject=".\src"> 28 <!-- enableSubPackages:是否让schema做为包的后缀 --> 29 <property name="enableSubPackages" value="false" /> 30 <!-- 从数据库返回的值清理先后的空格 --> 31 <property name="trimStrings" value="true" /> 32 </javaModelGenerator> 33 <!--mapper映射文件 生成的位置--> 34 <sqlMapGenerator targetPackage="com.xtkj.ssm.mapper" targetProject=".\src"> 35 <!-- enableSubPackages:是否让schema做为包的后缀 --> 36 <property name="enableSubPackages" value="false" /> 37 </sqlMapGenerator> 38 <!-- mapper接口生成的位置 --> 39 <javaClientGenerator type="XMLMAPPER" targetPackage="com.xtkj.ssm.mapper" targetProject=".\src"> 40 <!-- enableSubPackages:是否让schema做为包的后缀 --> 41 <property name="enableSubPackages" value="false" /> 42 </javaClientGenerator> 43 44 <!-- 指定数据库表 --> 45 <table tableName="tb_user"></table> 46 47 </context> 48 </generatorConfiguration>
须要改动的就是数据库链接信息(我用的是Mysql)、实体类和mepper映射文件生成的位置、以及对应的数据库中的数据表名测试
一样是能够在官网复制,放在main方法或测试方法中执行就能够了,只须要改动对应的配置文件名。这里注意路径要写对,个人就是config/generatorConfig.xml,若是直接放在了src目录下就写 src/generatorConfig.xml。(Mybatis逆向工程为咱们提供了多种使用方式,这里我推荐使用xml配置,用Java代码生成)spa
到这里,逆向工程的初步使用就完成了,如下是我执行后的目录结构。执行完记得刷新一下。
能够看到mapper包和pojo包下的文件以及其中的内容都自动生成了。比以前方便多了,我就指定了一张表,因此只有一个 mapper.java 和一个 mapper.xml,固然在配置文件里也能够指定多张表。这里值得一说的是相比以前本身写,逆向工程pojo包下多了一个*Example.java文件,这个类是用来自定义条件查询的。具体的使用能够去看个人下一篇博客。