這兩天需要用到mybatis的代碼自動(dòng)生成的功能,由于mybatis屬于一種半自動(dòng)的orm框架,所以主要的工作就是配置mapping映射文件,但是由于手寫(xiě)映射文件很容易出錯(cuò),所以可利用mybatis生成器自動(dòng)生成實(shí)體類(lèi)、dao接口和mapping映射文件。這樣可以省去很多的功夫,將生成的代碼copy到項(xiàng)目工程中即可。
1. 目錄說(shuō)明
使用自動(dòng)生成有很多方式,可以在eclipse中安裝插件,但是以下將要介紹的這種方式我認(rèn)為很輕松,最簡(jiǎn)單,不需要裝插件,只需要下幾個(gè)jar包即可,把它們放在一個(gè)目錄下面,如下圖:
src文件夾:生成的資源文件的位置
generationrun.bat:自動(dòng)生成 腳本
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ù)庫(kù)驅(qū)動(dòng)程序jar包
2. 配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?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ù)庫(kù)驅(qū)動(dòng) (修改為自己的版本)--> <classpathentry location= "mysql-connector-java-5.1.30.jar" /> <context id= "db2tables" targetruntime= "mybatis3" > <commentgenerator> <property name= "suppressdate" value= "true" /> <!-- 是否去除自動(dòng)生成的注釋 true :是 : false :否 --> <property name= "suppressallcomments" value= "true" /> </commentgenerator> <!--數(shù)據(jù)庫(kù)鏈接url,用戶(hù)名、密碼 --> <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ù)庫(kù)中的表名或視圖名 domainobjectname是實(shí)體類(lèi)名--> <table tablename= "tablename" domainobjectname= "objectname" enablecountbyexample= "false" enableupdatebyexample= "false" enabledeletebyexample= "false" enableselectbyexample= "false" selectbyexamplequeryid= "false" > </table> <!-- **--> </context> </generatorconfiguration> |
3. 執(zhí)行腳本
打開(kāi)控制臺(tái),進(jìn)入目錄(我的:e:\bl-java\maven-server\mybatis-generation-code),執(zhí)行腳本:
java -jar mybatis-generator-core-1.3.2.jar -configfile generatorconfig.xml -overwrite
或者可以寫(xiě)了一個(gè)bat文件雙擊執(zhí)行腳本來(lái)完成。
1
2
3
4
5
|
@echo off ::注釋: 將這個(gè)腳本 復(fù)制到新建文本文件,文件后綴名 .bat 即可。 java -jar mybatis-generator-core- 1.3 . 2 .jar -configfile generatorconfig.xml -overwrite echo src目錄下找到相應(yīng)的文件夾,每個(gè)表格都會(huì)對(duì)應(yīng)三個(gè)文件(實(shí)體類(lèi)、接口、配置文件) pause |
4.一個(gè)異常:xml parser errors occurred
1
2
3
|
xml parser errors occurred: xml parser error on line 42 : 元素類(lèi)型為 "context" 的內(nèi)容不完整, 它必須匹配 "(property*,plugin*,commentgenerator?,jdbcconnection,javatyperesolver?,javamodelgenerator,sqlmapgenerator?,javaclientgenerator?,table+)" 。 |
原因:generatorconfig.xml配置文件 標(biāo)簽對(duì)位置不對(duì)
解決:標(biāo)簽位置在子標(biāo)簽對(duì)最后一個(gè)(無(wú)table標(biāo)簽也會(huì)報(bào)錯(cuò))
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://www.cnblogs.com/oucbl/p/5935773.html