簡單三步快速學會使用Mybatis-Generator自動生成entity實體、dao接口以及mapper映射文件(postgre使用實例)

前言:

mybatis-generator是根據配置文件中我們配置的數據庫連接參數自動連接到數據庫並根據對應的數據庫表自動的生成與之對應mapper映射(比如增刪改查,選擇性增刪改查等等簡單語句)文件、對應的dao接口文件以及對應的entity實體(bean)
問題解決:1、如果遇到“不能有前言”的錯誤,請將配置文件重新保存爲UTF-8(不包含BOM)文字編碼的文件

一、首先,我們需要引入所需要的jar包

1、mybatis-generator所需的jar包

mybatis-generator-core-1.3.5.jar (mybatis-generator-core的版本可以自行選擇)

mybatis-generator下載地址:https://github.com/mybatis/generator/releases

2、數據庫連接jar包

根據自己的需要選擇數據庫驅動

oracle的驅動:ojdbc6.jar

mysql驅動:mysql-connector-java.jar

postgre驅動:postgresql-9.3-1102.jdbc4.jar

使用postgre進行舉例

二、Mybatis-Generator配置文件詳解

1、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>
<!--這裏寫配置-->
</generatorConfiguration>

2、指定數據庫驅動包位置

以ojdbc6.jar爲例,支持zip和jar兩種文件格式
<!-- 指定數據連接驅動jar地址 -->
<!-- 	<classPathEntry location="${classPath}" /> -->
	<classPathEntry location="D:\Repository\Publish\ojdbc6.jar" />

3、數據庫連接參數和自動生成參數配置

一個完整的配置實例:
<?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>
	<!-- 指定數據連接驅動jar地址 -->
	<classPathEntry location="E:\mybatis-generator\postgresql-9.3-1102.jdbc4.jar" />
	<context id="SqlTables" targetRuntime="MyBatis3">
		<!-- 註釋 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" /><!-- 是否取消註釋 -->
			<property name="suppressDate" value="true" /><!-- 是否生成註釋代時間戳 -->
		</commentGenerator>
		
        <jdbcConnection driverClass="org.postgresql.Driver" connectionURL="jdbc:postgresql://127.0.0.1:5432/JS_VNMP5.1" userId="postgres" password="123456" />  
          
        <!-- 類型轉換 -->  
        <javaTypeResolver>  
            <!-- 是否使用bigDecimal, false可自動轉化以下類型(Long, Integer, Short, etc.) -->  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
          
        <!-- 生成實體類地址 -->    
        <javaModelGenerator targetPackage="cc.eguid.entity"  
            targetProject="E:\mybatis-generator\src\main\java" >
            <property name="enableSubPackages" value="false"/>
	<!--設置父類 <property name="rootClass" value="cc.eguid.entity.baseEntity"/> -->
            <property name="trimStrings" value="true"/>			
        </javaModelGenerator>
        
        <!-- 生成mapxml文件 -->  
        <sqlMapGenerator targetPackage="cc.eguid.dao"
            targetProject="E:\mybatis-generator\src\main\java" >
            <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
		<property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>  
          
        <!-- 生成mapxml對應client,也就是接口dao -->      
        <javaClientGenerator targetPackage="cc.eguid.dao"  
            targetProject="E:\mybatis-generator\src\main\java" type="XMLMAPPER" >  
            <!-- 是否在當前路徑下新加一層schema,eg:fase路徑com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->  
			<property name="enableSubPackages" value="false"/>
        </javaClientGenerator>  
        
		<!-- 用戶權限表 -->		
		<table tableName="eguid_userrole" domainObjectName="Userrole" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
	</context>
</generatorConfiguration>


三、通過命令行運行

1、執行命令(generatorConfig.xml爲配置文件)
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite


2、建議在mybatis-generator-core-1.3.5.jar所在文件夾下新建一個xxx.bat文件,裏面放入上面的命令,就可以方便自動生成
完成上述操作後,執行xxx.bat文件即可在對應文件夾中生成三個文件,xxxmapper.xml,xxxmapper.java,xxx.java
注意:請務必保證要生成的路徑已經存在,否則會執行失敗

3、一個完整的xxx.bat執行文件

@echo off
java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
pause

四、使用總結

1、引入mybatis-generator的jar包和數據庫驅動jar包
2、配置mybatis-generator的配置文件

2.1、指定數據庫驅動jar包的位置和數據庫連接配置

2.2、配置實體類生成器(javaModelGenerator),可以通過配置rootClass屬性爲實體類指定繼承的父類

2.3、配置SQL映射文件生成器(sqlMapGenerator)

2.4、配置dao層接口生成器(javaClientGenerator)
3、使用命令行執行mybatis-generator即可生成

發佈了98 篇原創文章 · 獲贊 438 · 訪問量 78萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章