簡單三步快速學會使用Mybatis-Generator自動生成entity實體、dao介面以及mapper映射文件(postgre使用實例)
- 2019 年 11 月 1 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/eguid_1/article/details/54097139
前言:
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:RepositoryPublishojdbc6.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-generatorpostgresql-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-generatorsrcmainjava" > <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-generatorsrcmainjava" > <!-- 是否在當前路徑下新加一層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-generatorsrcmainjava" 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即可生成