一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

2020-05-23 12:19pangfc JAVA教程

這篇文章主要介紹了使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法的相關資料,需要的朋友可以參考下

MyBatis簡介:

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJO(Plain Old Java Objects,普通的Java對象)映射成數據庫中的記錄。

相關閱讀:MyBatis入門學習教程(一)-MyBatis快速入門

使用過Mybatis的同學都知道,針對每一個項目中使用到的數據庫表都需要建立其對應的數據庫增刪改查xxxMapper.xml文件、實體類xxx.java文件以及其他類用來調用進行數據庫操作的xxxMapper.java文件。在開始學習Mybatis時,我相信不少人都是通過手動來建立這些文件的。毫無疑問,如果項目比較大的話還通過手動建立這些文件效率是非常低的,這時我們可以通過mybatis-generator來自動生成這些文件。但是,這個工具默認是以命令行的形式來生成相關文件的,因此我們可以通過寫一個Ant腳本,每次需要建立這些文件時在eclipse中執行一下這個Ant腳本就可以自動生成了。完整步驟如下:

一 導入相關jar包

要想使用“mybatis-generator”需要在web項目的lib中導入對應的一個mybatis-generator-1.3.x.jar文件,Github上的下載地址:mybatis-generator的jar包下載

二 配置mybatis-generator的配置文件

(1)首先在項目中新建幾個包用于存放對應的文件:

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

由上圖可以看出,src/main/java用于存放Java源代碼;src/main/env/dev用于存放開發環境下的配置文件(如:jdbc,緩存,日志等);src/main/resources用于存放通用的一些配置文件,在這里我們自動生成的Mapper.xml文件就存放在這個路徑下;src/test/java表示測試代碼,這里不管

注:如何在eclipse中添加這些源文件夾?

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

(2)在項目根目錄下新建generatorConfig.xml和build_mybatis.xml:

這兩個文件分別是“mybatis-generator”的配置文件和自動化的Ant腳本,在項目中的路徑如下:

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

i)generatorConfig.xml:

?
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
42
43
44
45
46
47
48
49
50
51
<?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>
<!--數據庫驅動 -->
<classPathEntry
location="WebContent/WEB-INF/lib/mysql-connector-java-5.1.26-bin.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" /><!-- 是否取消注釋 -->
<property name="suppressDate" value="true" /> <!-- 是否生成注釋代時間戳 -->
</commentGenerator>
<!-- 數據庫連接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/ehcache_db" userId="root"
password="root">
</jdbcConnection>
<!-- 只有一個屬于forceBigDecimals,默認false。 如果字段精確超過0,生成BigDecimal 如果字段精確是0,總長度10-18生成Long;如果字段精確是0
總長5-9生成Integer; 如果字段精確是0,總長小于5生成Short; 如果forceBigDecimals為true,統一生成BigDecimal -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自動轉化以下類型(Long, Integer, Short, etc.) -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--生成Model.java文件 -->
<javaModelGenerator targetPackage="cn.zifangsky.model"
targetProject="src/main/java">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
<!-- 是否針對string類型的字段在set的時候進行trim調用 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成Mapper.xml文件 -->
<sqlMapGenerator targetPackage="sqlmaps"
targetProject="src/main/resources">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成Mapper.java文件,即dao層 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="cn.zifangsky.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 待生成的數據庫中的表名,生成一個表對應的Java和xml文件就需要配置一段 -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>

注:需要修改的一些地方可以參照我上面的注釋進行修改,同時別忘了數據驅動的jar包

ii)build_mybatis.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<project default="genfiles" basedir=".">
<property name="generated.source.dir" value="${basedir}" />
<path id="ant.run.lib.path">
<pathelement location="${basedir}/WebContent/WEB-INF/lib/mybatis-generator-core-1.3.2.jar"/>
</path>
<target name="genfiles" description="Generate the files">
<taskdef name="mbgenerator" classname="org.mybatis.generator.ant.GeneratorAntTask" classpathref="ant.run.lib.path"/>
<mbgenerator overwrite="true" configfile="generatorConfig.xml" verbose="false">
<propertyset>
<propertyref name="generated.source.dir" />
</propertyset>
</mbgenerator>
</target>
</project>

上面的代碼就兩個地方需要注意:一是“mybatis-generator”的jar包,二是需要對應的“generatorConfig.xml”文件

注:如果對Ant腳本不太熟悉的話,可以參考下我寫的這篇文章:

三 測試

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

進行效果測試時,只需要把“build_mybatis.xml”這個文件拖到Ant視圖中,然后點擊執行這個腳本就可以自動生成我們需要的文件了,最后就是刷新一下項目結構就可以看到文件了,效果如下:

使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法

注:我測試使用到的數據庫數據:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) DEFAULT NULL,
`password` varchar(64) DEFAULT NULL,
`email` varchar(64) DEFAULT NULL,
`birthday` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'admin', '123456', '[email protected]', '2000-01-02');
INSERT INTO `user` VALUES ('2', 'test', '1234', '[email protected]', '1990-12-12');
INSERT INTO `user` VALUES ('3', 'xxxx', 'xx', '[email protected]', '1723-06-21');

以上所述是小編給大家介紹的使用Mybatis Generator結合Ant腳本快速自動生成Model、Mapper等文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 波多野结衣中文字幕 | 啊啊啊好大在线观看 | 91精品国产美女福到在线不卡 | 国产综合视频 | 五月色天在线视频综合观看 | 天天摸天天操天天爽 | 天天摸天天碰色综合网 | 色欲麻豆国产福利精品 | chinese帅男gayvideo | 99热久久这里只有精品6国产网 | 毛片在线免费视频 | 俄罗斯处女| 国产成人精品免费大全 | 国产精品久久久久久久久99热 | 亚洲国产自拍在线 | 成年人在线视频观看 | jux629三浦理惠子在线播放 | 午夜网| 天天做天天玩天天爽天天 | 91九色视频无限观看免费 | 黄篇网站在线观看 | 国产人成激情视频在线观看 | 国产一区二区三区在线看 | 欧洲第一区第二区第三区 | 热剧库| 欧美大b | 五月天久久久 | 91大神在线精品播放 | 热久久最新 | 好 舒服 好 粗 好硬免费视频 | 好逼天天有| 全黄毛片 | 亚洲人成在线播放 | 国产成人精品在线 | 美女视频91 | 国产亚洲福利一区二区免费看 | 超h 超重口 高h 污肉1v1 | 亚洲国产视频网站 | mm131亚洲精品久久 | 亚洲国产在线综合018 | 青青青草国产 |