SSM+Maven整合时在Eclipse中使用Mybatis逆向工程自动生成代码
生活随笔
收集整理的這篇文章主要介紹了
SSM+Maven整合时在Eclipse中使用Mybatis逆向工程自动生成代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
MybatisGenerator 官方文檔
http://www.mybatis.org/generator/configreference/xmlconfig.html
實現
項目搭建好完整的包,包括bean、dao、service、test、utils、mapper
項目目錄
此為生成完代碼之后的目錄
數據庫配置
在數據庫ssm_crud中新建表tbl_emp(員工表)
再新建tbl_dept表(部門表)
兩個表建立外鍵關聯
逆向工程
首先需要引入逆向工程相關依賴
打開Maven中央倉庫,搜索mybatis generator
點進去,選擇1.3.7版本
將其復制到pom.xml中
代碼為:
<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core --><!-- MBG --><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency>?
根據官方文檔說明
需要一個配置文件,在與pom.xml同級目錄下我們新建mbg.xml,用于配置逆向工程。
官方實例文檔:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" /><context id="DB2Tables" targetRuntime="MyBatis3"><jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"connectionURL="jdbc:db2:TEST"userId="db2admin"password="db2admin"></jdbcConnection><javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver><javaModelGenerator targetPackage="test.model" targetProject="\MBGTestProject\src"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><sqlMapGenerator targetPackage="test.xml"? targetProject="\MBGTestProject\src"><property name="enableSubPackages" value="true" /></sqlMapGenerator><javaClientGenerator type="XMLMAPPER" targetPackage="test.dao"? targetProject="\MBGTestProject\src"><property name="enableSubPackages" value="true" /></javaClientGenerator><table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" ><property name="useActualColumnNames" value="true"/><generatedKey column="ID" sqlStatement="DB2" identity="true" /><columnOverride column="DATE_FIELD" property="startDate" /><ignoreColumn column="FRED" /><columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /></table></context> </generatorConfiguration>?
這里具體的配置文件內筒mbg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//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"><!-- 設置生成的代碼不帶注釋 為true時則不帶那么多注釋--><commentGenerator><property name="suppressAllComments" value="true" /></commentGenerator><!-- 配置數據庫連接 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/ssm_crud" userId="root"password="123"></jdbcConnection><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- 將下面的位置改成自己的包名以及位置 --><!-- 指定javaBean生成的位置 --><javaModelGenerator targetPackage="com.badao.ssm.bean"targetProject=".\src\main\java"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!--指定sql映射文件生成的位置 --><sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- 指定dao接口生成的位置,mapper接口 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.badao.ssm.dao" targetProject=".\src\main\java"><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- table指定每個表的生成策略 --><!--? tableName 對應數據庫中的表名,domainObjectName對應要生成的實體類的類名 --><table tableName="tbl_emp" domainObjectName="Employee"></table><table tableName="tbl_dept" domainObjectName="Department"></table></context> </generatorConfiguration>生成代碼
根據官方文檔說明,選擇Running Mybatis Generator With Java
官方示例:
?List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);?
在test包下新建MBGTest.java,用于生成代碼
package com.badao.ssm.test;import java.io.File; import java.util.ArrayList; import java.util.List;import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback;public class MBGTest {public static void main(String[] args) throws Exception {List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("mbg.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);myBatisGenerator.generate(null);} }運行
右鍵run as Java Application,選中項目,右鍵refresh,刷新,可以看到相應代碼已經生成。
源碼下載
https://download.csdn.net/download/badao_liumang_qizhi/10868928
總結
以上是生活随笔為你收集整理的SSM+Maven整合时在Eclipse中使用Mybatis逆向工程自动生成代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The server time zone
- 下一篇: Maven项目中引入spring-tes