精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ibatis的簡介與初步搭建應用

開發 架構
在自己搭建了一個簡單的示例后,體會更深,一個ibatis的配置文件、domain對象及其SQLMapper即可搞定,而且在SQLMapper中你只要專注與你的SQL即可。所以以后要是有人問我,怎么去學ORM層的框架,我會推薦他去學ibatis,而不是Hibernate,因為這樣簡單上手的框架能讓你一開始就對ORM的理解更加快速和易于掌握。

一、ibatis的簡介

ibatis是什么東西就不介紹了,自己去找谷老師。

這里講下自己的使用體會。之前自己學過Hibernate,是看尚學堂的視頻教學的,看完以后發現Hibernate體系中的內容真的很多,什么N-N關聯、HSQL、緩存管理等等,看得我真的很暈,想要一時間掌握還真不可能,反正我現在也不是特別明白。后來新的公司是用ibatis,所以自己回去研究了下,結果發現ibatis真的很簡單,體系結構相比Hibernate易化多了。在自己搭建了一個簡單的示例后,體會更深,一個ibatis的配置文件、domain對象及其SQLMapper即可搞定,而且在SQLMapper中你只要專注與你的SQL即可。所以以后要是有人問我,怎么去學ORM層的框架,我會推薦他去學ibatis,而不是Hibernate,因為這樣簡單上手的框架能讓你一開始就對ORM的理解更加快速和易于掌握。

二、ibatis的下載

The original ibatis project team has moved to MyBatis hosted at Google Code. Seehttp://www.mybatis.org/ for more

下載地址:http://code.google.com/p/mybatis/downloads/list mybatis3.1.1- ralease

三、簡單的示例應用

下圖是我的搭建圖,其中log4j是用來記錄操作記錄日志的,可以參見官方的pdf文檔;readMe.txt是本人的自己添加的說明文檔,沒有這兩個文檔也沒關系。

        

1.  既然是ORM層的框架,首先我們應該建立數據庫及表,SQL如下:

  1. CREATE TABLE goods (  
  2.   id int(11) NOT NULL DEFAULT '0',  
  3.   category_id int(11) DEFAULT NULL,  
  4.   name varchar(100) DEFAULT NULL,  
  5.   price decimal(10,0) DEFAULT NULL,  
  6.   description varchar(100) DEFAULT NULL,  
  7.   acount int(11) DEFAULT NULL,  
  8.   update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,  
  9.   PRIMARY KEY (id)  

導入兩條數據:

  1. INSERT INTO goods VALUES (1,1,'Nokia-L900',3010,'Windows7 Mobile Phone',1,'2012-07-15');  
  2. INSERT INTO goods VALUES (2,1,'Moto-525',1800,'Andriod 2.2',15,'2012-007-15'); 

2. 創建表結構所對應的domain對象

  1. package com.csdn.kane.domain;  
  2.  
  3. import java.sql.Timestamp;  
  4.  
  5. public class Goods {  
  6.     private int id;  
  7.     private int categoryId;  
  8.     private String name;  
  9.     private float price;  
  10.     private String description;  
  11.     private int acount;  
  12.     private Timestamp updateTime;  
  13.       
  14.     public int getId() {  
  15.         return id;  
  16.     }  
  17.     public void setId(int id) {  
  18.         this.id = id;  
  19.     }  
  20.     public int getCategoryId() {  
  21.         return categoryId;  
  22.     }  
  23.     public void setCategoryId(int categoryId) {  
  24.         this.categoryId = categoryId;  
  25.     }  
  26.     public String getName() {  
  27.         return name;  
  28.     }  
  29.     public void setName(String name) {  
  30.         this.name = name;  
  31.     }  
  32.     public float getPrice() {  
  33.         return price;  
  34.     }  
  35.     public void setPrice(float price) {  
  36.         this.price = price;  
  37.     }  
  38.     public String getDescription() {  
  39.         return description;  
  40.     }  
  41.     public void setDescription(String description) {  
  42.         this.description = description;  
  43.     }  
  44.     public int getAcount() {  
  45.         return acount;  
  46.     }  
  47.     public void setAcount(int acount) {  
  48.         this.acount = acount;  
  49.     }  
  50.     public Timestamp getUpdateTime() {  
  51.         return updateTime;  
  52.     }  
  53.     public void setUpdateTime(Timestamp updateTime) {  
  54.         this.updateTime = updateTime;  
  55.     }  

3. 配置ibatis的配置文件

  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.     <typeAliases>  
  7.         <typeAlias alias="Goods" type="com.csdn.kane.domain.Goods"/>  
  8.     </typeAliases>  
  9.  
  10.     <environments default="development">  
  11.         <environment id="development">  
  12.             <transactionManager type="JDBC" />  
  13.             <dataSource type="POOLED">  
  14.                 <property name="driver" value="com.mysql.jdbc.Driver" />  
  15.                 <property name="url" value="jdbc:mysql://127.0.0.1:3306/XiaoqingTest" />  
  16.                 <property name="username" value="root" />  
  17.                 <property name="password" value="08073440" />  
  18.             </dataSource>  
  19.         </environment>  
  20.     </environments>  
  21.     <mappers>  
  22.         <mapper class="com.csdn.kane.dao.GoodsMapper"/>  
  23.     </mappers>  
  24. </configuration> 

4. 建立GoodsMapper接口

  1. package com.csdn.kane.dao;  
  2.  
  3. import org.apache.ibatis.annotations.Select;  
  4.  
  5. import com.csdn.kane.domain.Goods;  
  6.  
  7. public interface GoodsMapper {  
  8.     @Select("SELECT * FROM Goods WHERE id=#{id}")  
  9.     public Goods selectGoods(int id);  

5. 接下來就可以自己寫一個主方法來測試下了

  1. package com.csdn.kane.test;  
  2.  
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  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 com.csdn.kane.dao.GoodsMapper;  
  12. import com.csdn.kane.domain.Goods;  
  13.  
  14. public class TestMybitas {  
  15.       
  16.     public static void main(String[] args) throws IOException {  
  17.         //最基本的mybitas示例方法  
  18.         TestMybitas.testMethod();  
  19.     }  
  20.       
  21.     public static void testMethod() throws IOException{  
  22.         String resource = "mybitasConfigration.xml";  
  23.         InputStream inputStream = Resources.getResourceAsStream(resource);  
  24.         SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);  
  25.           
  26.         SqlSession session = sqlSessionFactory.openSession();  
  27.         try {  
  28.             GoodsMapper mapper = session.getMapper(GoodsMapper.class);  
  29.             Goods goods = mapper.selectGoods(1);  
  30.             System.out.println("good description:"+goods.getDescription());  
  31.         } finally {  
  32.             session.close();  
  33.         }  
  34.     }  
  35.  

運行后,你就可以看到結果了。這就是一個最簡單的mybatis應用。

    

  從上面的流程大家可以看到,這其實和Hibernate是比較相似的,或者說ORM層的框架大多也是這樣的:1.首先你要建立數據庫及表結構,2.然后創建表結構所對應的domain對象(當然有些會自動生成表結構),3.接著你要配置你的ORM框架的配置文件(包括與數據庫的鏈接配置還有其他內容),4.你要創建domain對象與表結構的映射關系或者sql操作(比如在Hibernate中是XXX.hbm.xml,在mybatis中是XXXMapper.java接口文件或者是XXXMapper.xml配置文件),5.最后你就可以寫個測試類了。

四、總結

這樣你就知道什么是ORM層框架了,就是這么簡單,當然還有很多深入的內容,這就得靠你自己去學習了。

推薦學習的時候多看看官方的文檔或是API,比如在mybatis的下載文件中有mybatis-3.1.1.pdf文檔,里面有很多講解及簡單的學習示例是很不錯的,我在學的時候就是這樣看文檔學的。

原文鏈接:http://blog.csdn.net/xiaoyousifang/article/details/7748179

責任編輯:林師授 來源: XiaoYouSiFang的博客
相關推薦

2009-07-17 10:59:59

iBATIS接口

2009-09-24 14:04:25

Hibernate i

2009-07-17 10:32:45

iBATIS MapB

2009-07-17 13:13:47

iBATIS Hibe

2009-09-22 13:12:25

Hibernateibatis

2009-07-16 13:08:09

iBATIS快速創建應

2010-07-21 16:40:41

telnet服務

2009-07-17 10:08:39

Hibernate與i

2010-05-12 17:26:55

MySQL維護

2009-07-22 11:11:39

iBATIS分頁實例ObjectDataS

2011-03-02 09:44:45

2009-07-15 16:26:04

iBATIS Clob

2009-07-21 10:39:19

動態Mapped St

2009-07-15 17:31:08

iBATIS Ecli

2009-09-25 14:41:15

Hibernate對象

2010-04-08 18:33:46

Oracle VARR

2012-09-11 13:44:41

MooseFS系統

2010-08-16 09:42:23

無線局域網

2023-06-28 08:33:10

業務系統SM-X

2025-01-26 15:02:47

點贊
收藏

51CTO技術棧公眾號

亚洲自拍偷拍区| 自拍视频国产精品| 国产精品后入内射日本在线观看| 五月天久久久久久| 美女在线视频一区| 久久久久一本一区二区青青蜜月| 美国黄色a级片| 四虎精品在线观看| 偷窥国产亚洲免费视频| 五月天亚洲综合情| 亚洲不卡免费视频| 日韩精品乱码免费| 欧美激情视频一区| 欧美午夜激情影院| 精品网站aaa| 欧美日韩视频在线观看一区二区三区 | www日韩精品| 欧美疯狂party性派对| 337p日本欧洲亚洲大胆色噜噜| 日本成人黄色网| 日本动漫同人动漫在线观看| 五月天婷婷视频| 久久久久久久久99精品大| 欧美mv日韩mv| 色免费在线视频| 国产盗摄精品一区二区酒店| 国产精品毛片无遮挡高清| 韩日午夜在线资源一区二区| 国产又粗又大又爽| 亚洲欧美激情诱惑| 久久久久久亚洲精品| 国产精品久久国产精麻豆96堂| y111111国产精品久久久| 欧美性欧美巨大黑白大战| 91成人在线观看喷潮教学| 91在线中文| 国产欧美一区二区精品久导航 | 欧美亚洲另类色图| а√天堂在线官网| 亚洲视频一区在线观看| 视频一区二区三| 青青久在线视频免费观看| 国产高清不卡一区| 91精品国产高清久久久久久91裸体 | 亚洲综合自拍| 日韩中文第一页| 亚洲精品视频久久久| 麻豆成人入口| 亚洲国产成人爱av在线播放| 国产大学生av| www.丝袜精品| 亚洲成人在线网| 亚洲精品乱码久久久久久蜜桃图片| 日韩在线观看一区二区三区| 91精品国产综合久久久久| 欧美日韩精品区别| 福利一区视频| 欧美日韩精品欧美日韩精品| 色婷婷狠狠18| www.欧美| 欧美一卡二卡在线| 欧美日韩久久婷婷| 国产乱码精品一区二区三区亚洲人 | 天天射天天干天天| 久久婷婷久久| 国产精品美乳在线观看| 亚洲天堂aaa| 韩国av一区二区三区| 亚洲一区二区中文字幕| av观看在线免费| 国产成人日日夜夜| 国产麻豆日韩| 美州a亚洲一视本频v色道| 久久久精品天堂| 丝袜美腿玉足3d专区一区| 2019中文字幕在线视频| 亚洲人123区| 国产欧美日韩小视频| 亚洲天堂av在线| 91久久精品日日躁夜夜躁欧美| 亚洲欧美在线精品| 视频精品一区二区三区| 亚洲国产高潮在线观看| 最近中文字幕在线mv视频在线 | 中文字幕在线亚洲| 日本午夜在线观看| 亚洲三级国产| 国产精品视频26uuu| 成人黄色在线观看视频| 久久综合久色欧美综合狠狠| 亚洲一区二区三区涩| 国产在线更新| 精品久久久久久中文字幕一区奶水| 国产偷人视频免费| 在线免费成人| 日韩二区三区在线| 免费黄色国产视频| 国产精品啊v在线| 国产91亚洲精品| 99热这里是精品| 91香蕉视频黄| 国产一区一区三区| 中文字幕人成乱码在线观看 | 51ⅴ精品国产91久久久久久| 一级黄色片在线观看| 成人h精品动漫一区二区三区| 色女孩综合网| 2021天堂中文幕一二区在线观| 91国模大尺度私拍在线视频| 韩国三级在线看| 欧美偷拍综合| 8x拔播拔播x8国产精品| 国产特级aaaaaa大片| 国产香蕉久久精品综合网| 99久久久精品视频| 久久99国产精品二区高清软件| 亚洲韩国日本中文字幕| 91嫩草|国产丨精品入口| 久久九九99| 国产成人精品自拍| 麻豆系列在线观看| 欧美在线免费观看亚洲| 88av在线播放| 欧美日韩国产色综合一二三四| 国产精品www| 三级理论午夜在线观看| 亚洲自拍偷拍网站| 亚洲精品乱码久久久久久动漫| 成人国产精品一级毛片视频| 欧美精品激情blacked18| 国产精品久久免费| 国产精品视频一二| 国产精品99久久免费黑人人妻| 成人动态视频| 欧美高清视频一区二区| 国产精品久久久久久久免费| 国产目拍亚洲精品99久久精品 | 日本免费新一区视频| 精品国产乱码久久久久久88av| 色呦呦在线资源| 欧美一三区三区四区免费在线看| 国产中文字幕久久| 蜜桃av一区二区三区| 日本在线观看一区二区| 亚洲同志男男gay1069网站| 亚洲第一网站男人都懂| 国产真实乱偷精品视频| 精品在线你懂的| 亚洲国产一区二区精品视频 | 99久久久精品免费观看国产| 黄色免费在线网站| 欧美剧情电影在线观看完整版免费励志电影| 美女久久久久久久久久| 久久久久国产精品午夜一区| 精品国产乱码久久久久久久软件| 涩涩涩视频在线观看| 亚洲国产欧美自拍| 中文字幕精品三级久久久| 99国产精品久久久久久久久久久| 国产极品尤物在线| 亚洲小说图片视频| 国产精品88a∨| 韩国中文字幕2020精品| 日本韩国欧美国产| 欧美精品日韩在线| 看片网站欧美日韩| 午夜久久久久久久久久久| 日韩在线观看中文字幕| 97热在线精品视频在线观看| 日本国产在线| 欧美午夜精品久久久久久超碰| av在线免费播放网址| 国产一区二区电影| 国产黄色片免费在线观看| 国产精品视屏| 国产激情视频一区| 毛片免费不卡| 亚洲精品美女久久久久| 亚洲高清视频免费观看| 亚洲女同ⅹxx女同tv| 国产人妻黑人一区二区三区| 久久精品一区二区三区中文字幕 | av无码av天天av天天爽| 日韩电影在线观看电影| 亚洲最新免费视频| 精品欧美午夜寂寞影院| 日本在线精品视频| 大片免费在线看视频| 亚洲精品国产精品国产自| 老熟妇一区二区三区啪啪| 亚洲精品亚洲人成人网在线播放| 国产十八熟妇av成人一区| 奇米综合一区二区三区精品视频| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 亚洲一区在线免费观看| 国产免费看av| 国产一区二区不卡老阿姨| av黄色在线网站| 91亚洲自偷观看高清| 精品一区二区三区自拍图片区| 日本成人在线网站| 69久久夜色精品国产7777 | 中文一区在线播放| 欧美丰满熟妇bbb久久久| 日韩国产高清在线| 男人添女荫道口喷水视频| 精品欧美久久| 国产精品久久久久av福利动漫| 国产精品天堂蜜av在线播放| 久久久日本电影| 亚洲成人三级| 亚洲老司机av| 高潮毛片7777777毛片| 欧美视频一二三区| 91porny在线| 亚洲激情av在线| 亚洲综合第一区| 2023国产一二三区日本精品2022| 日批视频在线看| 日韩不卡免费视频| 精品视频在线观看一区| 亚洲色图国产| 宅男av一区二区三区| 免费欧美一区| 精品欧美一区二区精品久久| 久久免费福利| 91免费综合在线| 国产激情久久| 国产精品免费久久久久久| 在线黄色的网站| 97色在线播放视频| 538在线观看| 久久久久久久电影一区| 超碰在线网址| 久久精品99久久久香蕉| 成人在线观看网站| 亚洲全黄一级网站| 亚洲三级黄色片| 亚洲黄色有码视频| 亚洲AV无码一区二区三区性| 欧美高清视频不卡网| 一区二区视频免费| 欧美色综合久久| av首页在线观看| 在线一区二区视频| 日韩精品成人免费观看视频| 狠狠躁18三区二区一区| 伊人久久综合视频| 欧美日韩国产一区二区三区| 激情综合网五月婷婷| 亚洲一区二区不卡免费| 一区二区在线观看免费视频| 亚洲人成在线观看一区二区| 亚洲欧美综合7777色婷婷| 最新久久zyz资源站| 国产真实乱在线更新| 亚洲欧美日韩国产一区二区三区| 99久久婷婷国产综合| 一区二区三区丝袜| 久久精品国产亚洲AV无码男同| 亚洲成人一二三| 国产精品久久久久久99| 日本乱人伦aⅴ精品| 少妇无套内谢久久久久| 欧美军同video69gay| www.色婷婷.com| 亚洲激情电影中文字幕| 蜜桃免费在线| 日韩中文字幕精品| 国产视频一区二区| 久久久久久久国产精品视频| 中文字幕在线视频久| 国产精品免费小视频| 美国十次综合久久| 精品国产免费久久久久久尖叫| 欧美高清视频看片在线观看| 日本在线免费观看一区| 99久久久久| 免费看欧美黑人毛片| 噜噜噜91成人网| 国产3p在线播放| 国产成人日日夜夜| 天天躁日日躁aaaxxⅹ| 国产精品大尺度| 久久草视频在线| 欧美三区在线视频| 丰满人妻一区二区三区无码av | 大桥未久av一区二区三区| av手机天堂网| 精品国产三级a在线观看| 国产裸体免费无遮挡| 制服丝袜第二页| 成人性视频网站| 四季av中文字幕| 性做久久久久久免费观看| 成人av网站在线播放| 欧美成va人片在线观看| 高清av在线| 久久久久久久成人| 九色在线视频| 一区二区三区四区中文字幕| 日韩欧美三级视频| 欧美区在线观看| 日本不卡视频一区二区| 国产精品网站导航| 精品99在线观看| 欧美熟乱第一页| 色婷婷av一区二区三| 丝袜一区二区三区| 一区二区精品伦理... | 免费人成视频在线| 欧美影视一区在线| 风流少妇一区二区三区91| 在线看日韩av| 91色在线看| 成人黄色午夜影院| 精品久久视频| 免费看又黄又无码的网站| 精品无人码麻豆乱码1区2区| 天天躁日日躁aaaxxⅹ| 亚洲成av人**亚洲成av**| 91亚洲欧美激情| 夜夜嗨av色综合久久久综合网| aa级大片免费在线观看| 国产欧美中文字幕| 国产亚洲欧美日韩在线观看一区二区| 四虎精品欧美一区二区免费| 日本美女视频一区二区| 97伦伦午夜电影理伦片| 亚洲大尺度视频在线观看| 国产人妻精品一区二区三| 伊人久久久久久久久久久| 国产拍在线视频| 成人免费在线看片| 综合久久精品| 免费一区二区三区在线观看| 久久久久99精品一区| 欧美国产成人精品一区二区三区| 亚洲成人a级网| 国产第一页在线视频| 成人在线免费观看一区| 欧美三级特黄| xxxxwww一片| 一区二区在线免费| 国产福利视频导航| 欧美区在线播放| **爰片久久毛片| 日本五级黄色片| 国产精品一区三区| 欧美黄片一区二区三区| 欧美一区二区福利视频| 91精选在线| 波多野结衣精品久久| 欧美精品播放| 亚洲国产精品狼友在线观看| 亚洲成a人v欧美综合天堂下载| 国产高清精品软件丝瓜软件| 欧美成人精品不卡视频在线观看| 色狠狠一区二区三区| 国产精品波多野结衣| 国产一区二区伦理| 久久久www成人免费毛片| 精品国产乱码久久久久久浪潮| av资源网在线播放| 久久精品一区二区三区不卡免费视频| 国产偷自视频区视频一区二区| 少妇精品一区二区三区| 日韩欧美在线看| 在线免费看黄网站| 亚洲精品欧美极品| 日韩视频在线一区二区三区 | 美女呻吟一区| caopor在线视频| 亚洲天堂久久久久久久| 成人1区2区3区| 91精品国产91久久久久久不卡| 蜜臀av免费一区二区三区| 国产成人综合一区| 亚洲欧洲精品天堂一级| 亚洲女人18毛片水真多| 欧美一级视频一区二区| 成人激情免费视频| 蜜桃视频无码区在线观看| 精品色蜜蜜精品视频在线观看| 草草影院在线观看| 91超碰在线免费观看| 国产精品乱看| 国产日产精品一区二区三区的介绍| 日韩欧美123| 婷婷午夜社区一区| 一区二区成人国产精品| 国产成人h网站| 99超碰在线观看| 久久婷婷国产麻豆91天堂| 亚洲天堂中文字幕在线观看| av免费观看网| 亚洲人成网站精品片在线观看| 天天操天天操天天干| 国产美女主播一区| 亚洲美女少妇无套啪啪呻吟|