欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Mybatis Generator結(jié)合Ant腳本快速自動(dòng)生成Model、Mapper等文件的方法

 更新時(shí)間:2016年06月30日 10:45:13   作者:pangfc  
這篇文章主要介紹了使用Mybatis Generator結(jié)合Ant腳本快速自動(dòng)生成Model、Mapper等文件的方法的相關(guān)資料,需要的朋友可以參考下

MyBatis簡介:

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

相關(guān)閱讀:MyBatis入門學(xué)習(xí)教程(一)-MyBatis快速入門

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

一 導(dǎo)入相關(guān)jar包

要想使用“mybatis-generator”需要在web項(xiàng)目的lib中導(dǎo)入對(duì)應(yīng)的一個(gè)mybatis-generator-1.3.x.jar文件,Github上的下載地址:mybatis-generator的jar包下載

二 配置mybatis-generator的配置文件

(1)首先在項(xiàng)目中新建幾個(gè)包用于存放對(duì)應(yīng)的文件:

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

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

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

這兩個(gè)文件分別是“mybatis-generator”的配置文件和自動(dòng)化的Ant腳本,在項(xiàng)目中的路徑如下:

i)generatorConfig.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>
<!--數(shù)據(jù)庫驅(qū)動(dòng) -->
<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" /> <!-- 是否生成注釋代時(shí)間戳 -->
</commentGenerator>
<!-- 數(shù)據(jù)庫連接信息 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/ehcache_db" userId="root"
password="root">
</jdbcConnection>
<!-- 只有一個(gè)屬于forceBigDecimals,默認(rèn)false。 如果字段精確超過0,生成BigDecimal 如果字段精確是0,總長度10-18生成Long;如果字段精確是0, 
總長5-9生成Integer; 如果字段精確是0,總長小于5生成Short; 如果forceBigDecimals為true,統(tǒng)一生成BigDecimal -->
<javaTypeResolver>
<!-- 是否使用bigDecimal, false可自動(dòng)轉(zhuǎn)化以下類型(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" />
<!-- 是否針對(duì)string類型的字段在set的時(shí)候進(jìn)行trim調(diào)用 -->
<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>
<!-- 待生成的數(shù)據(jù)庫中的表名,生成一個(gè)表對(duì)應(yīng)的Java和xml文件就需要配置一段 -->
<table tableName="user" domainObjectName="User"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
</context>
</generatorConfiguration>

注:需要修改的一些地方可以參照我上面的注釋進(jìn)行修改,同時(shí)別忘了數(shù)據(jù)驅(qū)動(dòng)的jar包

ii)build_mybatis.xml:

<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>

上面的代碼就兩個(gè)地方需要注意:一是“mybatis-generator”的jar包,二是需要對(duì)應(yīng)的“generatorConfig.xml”文件

注:如果對(duì)Ant腳本不太熟悉的話,可以參考下我寫的這篇文章:http://www.dbjr.com.cn/article/87674.htm

三 測試

進(jìn)行效果測試時(shí),只需要把“build_mybatis.xml”這個(gè)文件拖到Ant視圖中,然后點(diǎn)擊執(zhí)行這個(gè)腳本就可以自動(dòng)生成我們需要的文件了,最后就是刷新一下項(xiàng)目結(jié)構(gòu)就可以看到文件了,效果如下:

注:我測試使用到的數(shù)據(jù)庫數(shù)據(jù):

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', 'admin@qq.com', '2000-01-02');
INSERT INTO `user` VALUES ('2', 'test', '1234', 'test@zifangsky.cn', '1990-12-12');
INSERT INTO `user` VALUES ('3', 'xxxx', 'xx', 'xx@zifangsky.cn', '1723-06-21');

以上所述是小編給大家介紹的使用Mybatis Generator結(jié)合Ant腳本快速自動(dòng)生成Model、Mapper等文件的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Kafka單節(jié)點(diǎn)偽分布式集群搭建實(shí)現(xiàn)過程詳解

    Kafka單節(jié)點(diǎn)偽分布式集群搭建實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Kafka單節(jié)點(diǎn)偽分布式集群搭建實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • java實(shí)現(xiàn)將域名解析成ip示例

    java實(shí)現(xiàn)將域名解析成ip示例

    這篇文章主要介紹了java實(shí)現(xiàn)將域名解析成ip示例,需要的朋友可以參考下
    2014-04-04
  • SpringBoot設(shè)置默認(rèn)主頁的方法步驟

    SpringBoot設(shè)置默認(rèn)主頁的方法步驟

    這篇文章主要介紹了SpringBoot設(shè)置默認(rèn)主頁的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java進(jìn)階之Object類及常用方法詳解

    Java進(jìn)階之Object類及常用方法詳解

    Object?類是?Java?默認(rèn)提供的一個(gè)類,是所有?Java?類的祖先類,每個(gè)類都使用?Object?作為父類。本文就來和大家聊聊Object類的常用方法,希望對(duì)大家有所幫助
    2023-01-01
  • Java instanceof和getClass()區(qū)別實(shí)例解析

    Java instanceof和getClass()區(qū)別實(shí)例解析

    這篇文章主要介紹了Java instanceof和getClass()區(qū)別實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Spring框架中部署log4j.xml的詳細(xì)步驟

    Spring框架中部署log4j.xml的詳細(xì)步驟

    Log4j是一個(gè)常用的日志記錄工具,它可以幫助我們記錄應(yīng)用程序的運(yùn)行日志并進(jìn)行靈活的配置,在Spring框架中,我們可以很方便地部署log4j.xml配置文件來管理日志記錄,這篇文章主要介紹了Spring框架中部署log4j.xml的詳細(xì)步驟并提供相應(yīng)的代碼示例,需要的朋友可以參考下
    2023-09-09
  • 關(guān)于Redis的緩存穿透問題

    關(guān)于Redis的緩存穿透問題

    這篇文章主要介紹了關(guān)于Redis的緩存穿透問題,緩存穿透是指客戶端請(qǐng)求的數(shù)據(jù)在緩存中和數(shù)據(jù)庫中都不存在,這樣緩存永遠(yuǎn)不會(huì)生效,這些請(qǐng)求都會(huì)打到數(shù)據(jù)庫,需要的朋友可以參考下
    2023-08-08
  • MyBatis-Plus 集成動(dòng)態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例

    MyBatis-Plus 集成動(dòng)態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例

    本文主要介紹了MyBatis-Plus 集成動(dòng)態(tài)多數(shù)據(jù)源的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Java遞歸算法簡單示例兩則

    Java遞歸算法簡單示例兩則

    這篇文章主要介紹了Java遞歸算法,通過兩則示例分析了Java遞歸算法實(shí)現(xiàn)階乘與求和的具體操作技巧,需要的朋友可以參考下
    2017-09-09
  • 淺聊java8中數(shù)值流的使用

    淺聊java8中數(shù)值流的使用

    java8為我提供的簡單快捷的數(shù)值流計(jì)算API,本文就基于幾個(gè)常見的場景介紹一下數(shù)值流API的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2023-10-10

最新評(píng)論