程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 應用Mybatis Generator聯合Ant劇本疾速主動生成Model、Mapper等文件的辦法

應用Mybatis Generator聯合Ant劇本疾速主動生成Model、Mapper等文件的辦法

編輯:關於JAVA

應用Mybatis Generator聯合Ant劇本疾速主動生成Model、Mapper等文件的辦法。本站提示廣大學習愛好者:(應用Mybatis Generator聯合Ant劇本疾速主動生成Model、Mapper等文件的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是應用Mybatis Generator聯合Ant劇本疾速主動生成Model、Mapper等文件的辦法正文


MyBatis簡介:

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)起首在項目中新建幾個包用於寄存對應的文件:

由上圖可以看出,src/main/java用於寄存Java源代碼;src/main/env/dev用於寄存開辟情況下的設置裝備擺設文件(如:jdbc,緩存,日記等);src/main/resources用於寄存通用的一些設置裝備擺設文件,在這裡我們主動生成的Mapper.xml文件就寄存在這個途徑下;src/test/java表現測試代碼,這裡不論

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

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

這兩個文件分離是“mybatis-generator”的設置裝備擺設文件和主動化的Ant劇本,在項目中的途徑以下:

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>
<!--數據庫驅動 -->
<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:

<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劇本不太熟習的話,可以參考下我寫的這篇文章:http://www.jb51.net/article/87674.htm

三 測試

停止後果測試時,只須要把“build_mybatis.xml”這個文件拖到Ant視圖中,然後點擊履行這個劇本便可以主動生成我們須要的文件了,最初就是刷新一下項目構造便可以看到文件了,後果以下:

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

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等文件的辦法,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved