簡單來講,就是替咱們生成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文件,這個類是用來自定義條件查詢的。具體的使用能夠去看個人下一篇博客。