国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
使用Mybatis Generator自動(dòng)生成Mybatis相關(guān)代碼

使用Mybatis Generator自動(dòng)生成Mybatis相關(guān)代碼

本文將簡(jiǎn)要介紹怎樣利用Mybatis Generator自動(dòng)生成Mybatis的相關(guān)代碼:


一、構(gòu)建一個(gè)環(huán)境:

1. 首先創(chuàng)建一個(gè)表:

 

Sql代碼
  1. CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);  
 

2. 然后注入數(shù)據(jù)

Sql代碼
  1. insert into pet values('Fluffy''Harold''cat''f''1993-02-04'null);  
  2. insert into pet values('Claws''Gwen''cat''m''1994-03-17'null);  
  3. insert into pet values('Buffy''Harold''dog''f''1989-05-13'null);  
  4. insert into pet values('Fang''Benny''dog''m''1990-08-27'null);  
  5. insert into pet values('Bowser''Diane''dog''m''1979-08-31''1995-07-29');  
  6. insert into pet values('Chirpy''Gwen''bird''f''1998-09-11'null);  
  7. insert into pet values('Whistler''Gwen''bird'null'1997-12-09'null);  
  8. insert into pet values('Slim''Benny''snake''m''1996-04-29'null);  

 

注:這里的sql例子來(lái)自 http://dev.mysql.com/doc/refman/5.5/en/creating-tables.html

3. 在 Mybatis 主頁(yè) http://code.google.com/p/mybatis/ 上下載 Mybatismybatis-generator-core [本文使用的是 1.3.0 版本]。當(dāng)然運(yùn)行 mybatis-generator生成的代碼還需要下載 mybatis 的 jar 包[本例使用的是 3.0.2 版本],和相關(guān)數(shù)據(jù)庫(kù)的 jdbc[本文中使用的是MySql的jdbc] 。

 

二、運(yùn)行 mybatis-generator

1. 要運(yùn)行 generator ,需要給 generator 提供一個(gè)配置文件,指定其生成的數(shù)據(jù)庫(kù)的相關(guān)信息。
以下是一個(gè)示例:

Xml代碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE generatorConfiguration  
  3.   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
  5.   
  6. <generatorConfiguration>  
  7.     <classPathEntry location="mysql-connector-java-5.1.6-bin.jar" />  
  8.   
  9.     <context id="DB2Tables" targetRuntime="MyBatis3">  
  10.   
  11.         <commentGenerator>  
  12.             <property name="suppressDate" value="true" />  
  13.         </commentGenerator>  
  14.   
  15.         <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
  16.             connectionURL="jdbc:mysql://localhost/test" userId="qgd" password="123456">  
  17.         </jdbcConnection>  
  18.   
  19.         <javaTypeResolver>  
  20.             <property name="forceBigDecimals" value="false" />  
  21.         </javaTypeResolver>  
  22.   
  23.         <javaModelGenerator targetPackage="test.model"  
  24.             targetProject="../src/main/java">  
  25.             <property name="enableSubPackages" value="true" />  
  26.             <property name="trimStrings" value="true" />  
  27.         </javaModelGenerator>  
  28.   
  29.         <sqlMapGenerator targetPackage="test.dao"  
  30.             targetProject="../src/main/java">  
  31.             <property name="enableSubPackages" value="true" />  
  32.         </sqlMapGenerator>  
  33.   
  34.         <javaClientGenerator type="XMLMAPPER"  
  35.             targetPackage="test.dao" targetProject="../src/main/java">  
  36.             <property name="enableSubPackages" value="true" />  
  37.         </javaClientGenerator>  
  38.   
  39.         <table tableName="pet" domainObjectName="Pet">  
  40.         </table>  
  41.   
  42.     </context>  
  43. </generatorConfiguration>  

 

這個(gè)配置文件提供了 mybatis-generator所需要的參數(shù)信息:

  * 其中classPathEntry 是引用的jdbc的類(lèi)路徑,這里將jdbc jar和generator的jar包放在一起了;
  * commentGenerator 是用來(lái)除去時(shí)間信息的,這在配合類(lèi)似subversion的代碼管理工具時(shí)使用很有效,因?yàn)榭梢詼p少?zèng)]有必要的注釋遷入;
  * jdbcConnection是指定的jdbc的連接信息;
  * javaTypeResolver式類(lèi)型轉(zhuǎn)換的信息,這里并沒(méi)有用到;
  * javaModelGenerator是模型的生成信息,這里將指定這些Java model類(lèi)的生成路徑;
  * sqlMapGenerator是mybatis 的sqlMapper XML文件的生成信息,包括生成路徑等;
  * javaClientGenerator是應(yīng)用接口的生成信息;
  * table是用戶(hù)指定的被生成相關(guān)信息的表,它必須在指定的jdbc連接中已經(jīng)被建立。

2. mybatis-generator 有多種運(yùn)行方式,最簡(jiǎn)單的就是命令行的方式,只需要指定相應(yīng)的配置文件的路徑即可:

Java代碼
  1. java -jar mybatis-generator-core-1.3.0.jar -configfile ../src/main/resource/config.xml -overwrite  

 

運(yùn)行后生成的代碼包括模型類(lèi) test.model.Pet 和 test.model.PetExample , test.dao.PetMapper 接口以及其相對(duì)應(yīng)的 xml 映射文件,在這里就不在贅述了。

三、使用 mybatis-generator 生成的代碼

1. 現(xiàn)在我們要利用這些生成的代碼,首先我們需要一個(gè)關(guān)于所有映射的配置文件。需要我們手寫(xiě)如下:【不知道為什么generator沒(méi)有選擇自動(dòng)生成這個(gè)文件,畢竟這些信息generator都可以得到】

Xml代碼
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration  
  3.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.     "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5. <configuration>  
  6.     <environments default="development">  
  7.         <environment id="development">  
  8.             <transactionManager type="JDBC" />  
  9.             <dataSource type="POOLED">  
  10.                 <property name="driver" value="com.mysql.jdbc.Driver" />  
  11.                 <property name="url" value="jdbc:mysql://localhost/test" />  
  12.                 <property name="username" value="qgd" />  
  13.                 <property name="password" value="123456" />  
  14.             </dataSource>  
  15.         </environment>  
  16.     </environments>  
  17.     <mappers>  
  18.         <mapper resource="test/dao/PetMapper.xml" />  
  19.     </mappers>  
  20. </configuration>  
 

2. 另外還要使用然后我們還需要一個(gè)Main示例方法來(lái)調(diào)用這些已生成的代碼:

Java代碼
  1. package test;  
  2.   
  3. import java.io.Reader;  
  4. import java.util.List;  
  5.   
  6. import org.apache.ibatis.io.Resources;  
  7. import org.apache.ibatis.session.SqlSession;  
  8. import org.apache.ibatis.session.SqlSessionFactory;  
  9. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  10.   
  11. import test.dao.PetMapper;  
  12. import test.model.Pet;  
  13. import test.model.PetExample;  
  14.   
  15. public class Test {  
  16.   
  17.     public static void main(String[] args) throws Exception {  
  18.         String resource = "MapperConfig.xml";  
  19.         Reader reader = Resources.getResourceAsReader(resource);  
  20.         SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);  
  21.         SqlSession sqlSession = sqlMapper.openSession();  
  22.   
  23.         PetExample pet = new PetExample();  
  24.         pet.or().andDeathIsNotNull();  
  25.         try {  
  26.             PetMapper mapper = sqlSession.getMapper(PetMapper.class);  
  27.             List<Pet> allRecords = mapper.selectByExample(pet);  
  28.             for (Pet s : allRecords)  
  29.                 System.out.println(s);  
  30.         } finally {  
  31.             sqlSession.close();  
  32.         }  
  33.     }  
  34. }  

 

這樣就可以打印出相應(yīng)的查詢(xún)結(jié)果信息了。

四、小結(jié)

該示例的完整的Eclipse工程見(jiàn)附件mybatis-generator-usage.zip,其中已經(jīng)包含了示例需要使用的jar包。

本文中只是用到了mybatis-generator 的一部分功能,mybatis-generator生成代碼的方式還包括ant或Maven腳本,或者直接使用javaAPI生成;另外通過(guò)修改配置文件,generator還可以指定表的生成細(xì)節(jié),并可以添加插件。其功能文檔在generator的分發(fā)包的doc文件夾下有更詳細(xì)的介紹。

這里使用的表示沒(méi)有主鍵的表,針對(duì)有一個(gè)主鍵或多個(gè)主鍵的表,mybatis-generator的生成的內(nèi)容也有所不同,感興趣的讀者可以自行試驗(yàn)一下。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
mybatis三種批量插入方式對(duì)比【面試+工作】
MyBatis 學(xué)習(xí)筆記
Mybatis自動(dòng)生成實(shí)體代碼的 generator 插件
MyBatis 3中實(shí)現(xiàn)一對(duì)多的插入和查詢(xún)
wiki/mapper3/3.Use.md · abel533 / Mapper
MyBatis使用注解開(kāi)發(fā)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服