詳解使用MyBatis Generator自動創(chuàng)建代碼
這兩天需要用到MyBatis的代碼自動生成的功能,由于MyBatis屬于一種半自動的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手寫映射文件很容易出錯,所以可利用MyBatis生成器自動生成實(shí)體類、DAO接口和Mapping映射文件。這樣可以省去很多的功夫,將生成的代碼copy到項(xiàng)目工程中即可。
1. 目錄說明
使用自動生成有很多方式,可以在eclipse中安裝插件,但是以下將要介紹的這種方式我認(rèn)為很輕松,最簡單,不需要裝插件,只需要下幾個jar包即可,把它們放在一個目錄下面,如下圖:
src文件夾:生成的資源文件的位置
generationRun.bat:自動生成 腳本
generatorConfig - 副本.xml:備份
generatorConfig.xml:配置文件
mybatis-3.2.6.jar:mybatis框架的jar包
mybatis-generator-core-1.3.2.jar:MyBatis生成器jar包
mysql-connector-java-5.1.30.jar:數(shù)據(jù)庫驅(qū)動程序jar包
2. 配置文件
<?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> <!-- 數(shù)據(jù)庫驅(qū)動 (修改為自己的版本)--> <classPathEntry location="mysql-connector-java-5.1.30.jar"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動生成的注釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--數(shù)據(jù)庫鏈接URL,用戶名、密碼 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/dbname?characterEncoding=utf8" userId="username" password="password"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 生成模型的包名和位置--> <javaModelGenerator targetPackage="POJO" targetProject="src"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成映射文件的包名和位置--> <sqlMapGenerator targetPackage="Mapping" targetProject="src"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 生成DAO的包名和位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="IDAO" targetProject="src"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 要生成的表: tableName是數(shù)據(jù)庫中的表名或視圖名 domainObjectName是實(shí)體類名--> <table tableName="tableName" domainObjectName="ObjectName" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> <!-- **--> </context> </generatorConfiguration>
3. 執(zhí)行腳本
打開控制臺,進(jìn)入目錄(我的:E:\bl-java\maven-server\MyBatis-generation-code),執(zhí)行腳本:
java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite
或者可以寫了一個bat文件雙擊執(zhí)行腳本來完成。
@echo off ::注釋: 將這個腳本 復(fù)制到新建文本文件,文件后綴名 .bat 即可。 java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite echo src目錄下找到相應(yīng)的文件夾,每個表格都會對應(yīng)三個文件(實(shí)體類、接口、配置文件) PAUSE
4.一個異常:XML Parser Errors occurred
XML Parser Errors occurred: XML Parser Error on line 42: 元素類型為 "context" 的內(nèi)容不完整, 它必須匹配 "(property*,plugin*,commentGenerator?,jdbcConnection,javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)"。
原因:generatorConfig.xml配置文件 標(biāo)簽對位置不對
解決:標(biāo)簽位置在子標(biāo)簽對最后一個(無table標(biāo)簽也會報(bào)錯)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot?Schedule調(diào)度任務(wù)的動態(tài)管理
Scheduled定時任務(wù)是Spring?boot自身提供的功能,所以不需要引入Maven依賴包,下面這篇文章主要給大家介紹了關(guān)于SpringBoot通過@Scheduled實(shí)現(xiàn)定時任務(wù)以及問題解決的相關(guān)資料,需要的朋友可以參考下2023-02-02Java項(xiàng)目防止SQL注入的幾種方法總結(jié)
SQL注入是比較常見的網(wǎng)絡(luò)攻擊方式之一,在客戶端在向服務(wù)器發(fā)送請求的時候,sql命令通過表單提交或者url字符串拼接傳遞到后臺持久層,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java項(xiàng)目防止SQL注入的幾種方法,需要的朋友可以參考下2023-04-04gradle項(xiàng)目中資源文件的相對路徑打包技巧必看
這篇文章主要介紹了gradle項(xiàng)目中資源文件的相對路徑打包技巧必看篇,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11