Mybatis逆向工程配置與生成相關類
阿新 • • 發佈:2018-12-14
簡單點說,就是通過資料庫中的單表,自動生成java程式碼。Mybatis官方提供了逆向工程,可以針對資料庫表自動生成mybatis程式碼(mapper.java\mapper.xml\po類)。實際工作中,逆向工程是個很常用的工具,比我們手動建立對映檔案的配置資訊方便很多。
進入正題,一共需要如下幾個jar包:
mybatis-generator-core-1.3.7.jar和mysql-connector-java-5.0.8.jar,版本可以不同。
編寫配置檔案generatorConfig.xml,主要配置資料庫驅動、資料庫地址、賬號、密碼等,生成Model類存放位置、生成對映檔案存放位置、生成Dao類存放位置、生成對應的表及類名等:
<?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> <!--資料庫驅動--> <classPathEntry location="mysql-connector-java-5.0.8.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--資料庫連結地址賬號密碼--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mysql" userId="root" password=""> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!--生成Model類存放位置--> <javaModelGenerator targetPackage="map.model" targetProject="src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--生成對映檔案存放位置--> <sqlMapGenerator targetPackage="map.mapping" targetProject="src"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!--生成Dao類存放位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="map.dao" targetProject="src"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!--生成對應表及類名--> <table tableName="students" domainObjectName="Messgae" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
執行命令生成後,就會自動建立資料夾,自動生成對映類:
在此資料夾路徑下執行命令CMD:
Java -jar mybatis-generator-core-1.3.7.jar -configfile generatorConfig.xml -overwrite
生成後,就可以使用了,可以進行相關的修改、擴充套件、自定義等等操作,方便很多。