亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用Annotation設計持久層

2019-11-18 15:32:44
字體:
來源:轉載
供稿:網友
    這篇文章的想法來自于過去的兩篇文章:《設計自己的MVC框架》《設計模式之事務處理》
鏈接:
http://java.chinaitlab.com/model/532056.Html
http://java.chinaitlab.com/model/533095.html

代碼下載同樣在www.126.com的郵箱里,用戶名 sharesources 密碼 javafans

    本文只是學習性質的文章,我一開始的想法就是修改《設計模式之事務處理》,提供Annotation來提供事務支持,支持到方法級別。通過引入一個 @Transaction標注,假如被此標注的方法將自動享受事務處理。目的是學習下Annotation和加深下對聲明式事務處理的理解。

    Annotation是JDK5引入的新特性,現在越來越多的框架采用此特性來代替煩瑣的xml配置文件,比如hibernate,ejb3, sPRing等。對Annotation不了解,請閱讀IBM網站上的文章,還有推薦javaeye的Annotation專欄:http: //www.javaeye.com/subject/Annotation

    代碼的示例是一個簡單的用戶治理例子。

    首先,環境是MySQL+jdk5+myeclipse5+tomcat5,在mysql中建立一張表adminusers:
  1.     create table adminusers(id int(10) auto_increment not null primary key,
  2.      name varchar(10) not null,
  3.      passWord varchar(10) not null,
  4.      user_type varchar(10));
 
    然后在tomcat下建立一個數據源,把代碼中的strutslet.xml拷貝到tomcat安裝目錄下的 /conf/Catalina/localhost目錄里,請自行修改文件中的數據庫用戶名和密碼,以及數據庫名稱。另外,把mysql的 jdbc驅動拷貝到tomcat安裝目錄下的common/lib目錄。這樣數據源就建好了。在web.xml中引用:
  1.    <resource-ref>
  2.         <description>DB Connection</description>
  3.         <res-ref-name>jdbctest</res-ref-name>
  4.         <res-type>javax.sql.DataSource</res-type>
  5.         <res-auth>Container</res-auth>
  6.     </resource-ref>
    
    我的例子只是在《設計模式之事務處理》的基礎上改造的,在那篇文章里,我講解了自己對聲明式事務處理的理解,并利用動態代理實現了一個 TransactionWrapper(事務包裝器),通過業務代理工廠提供兩種版本的業務對象:經過事務包裝的和未經過事務包裝的。我們在默認情況下包裝業務對象中的所有方法,但實際情況是,業務對象中的很多方法不用跟數據庫打交道,它們根本不需要包裝在一個事務上下文中,這就引出了,我們為什么不提供一種方式來配置哪些方法需要事務控制而哪些并不需要?甚至提供事務隔離級別的聲明?很自然的想法就是提供一個配置文件,類似spring式的事務聲明。既然JDK5已經引入Annotation,相比于配置文件的煩瑣和輕易出錯,我們定義一個@Transaction的annotation來提供此功能。

    看下Transaction.java的代碼:
 
  1.     package com.strutslet.db;
  2.     import java.lang.annotation.Documented;
  3.     import java.lang.annotation.ElementType;
  4.     import java.lang.annotation.Retention;
  5.     import java.lang.annotation.RetentionPolicy;
  6.     import java.lang.annotation.Target;
  7.     import java.sql.Connection;
  8.     @Target(ElementType.METHOD)
  9.     @Retention(RetentionPolicy.RUNTIME)
  10.     @Documented
  11.     public @interface Transaction {
  12.        //事務隔離級別,默認為read_committed
  13.        public int level() default Connection.TRANSACTION_READ_COMMITTED    ;
  14.     }



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情在线播放| 精品国内亚洲在观看18黄| 17婷婷久久www| 国产精品网站大全| 成人免费淫片aa视频免费| 国产一区二区丝袜高跟鞋图片| 国产精品网站入口| 麻豆国产va免费精品高清在线| 黄网动漫久久久| 日本高清久久天堂| 日韩在线不卡视频| 国产一区在线播放| 成人中心免费视频| 色婷婷综合久久久久中文字幕1| 国产在线观看91精品一区| 日韩在线免费观看视频| 黄色成人av在线| 国产精品国语对白| 日本亚洲欧洲色α| 精品福利樱桃av导航| 精品女厕一区二区三区| 国产精品久久久久久av福利| 欧美理论电影网| 亚洲精品视频在线观看视频| 亚洲激情在线视频| 国产欧美一区二区白浆黑人| 51精品在线观看| 国产a级全部精品| 国产日韩欧美自拍| 色偷偷偷亚洲综合网另类| 精品一区二区三区电影| 国a精品视频大全| 欧美性jizz18性欧美| 日韩av在线一区二区| 欧美成人免费全部观看天天性色| 日韩国产在线播放| 国产精品亚洲精品| 综合136福利视频在线| 国产成人激情视频| 亚洲男人天堂视频| 久久免费视频在线| 国产精品欧美日韩久久| 国产日韩在线看片| 日韩精品免费看| 日本道色综合久久影院| 亚洲国产成人精品女人久久久| 欧美视频免费在线观看| 亚洲伊人久久综合| 成人黄色免费在线观看| 亚洲精品黄网在线观看| 欧美最猛性xxxxx免费| 精品在线观看国产| 懂色av影视一区二区三区| 国产中文字幕日韩| 福利微拍一区二区| 欧美中文在线观看| 亚洲色图13p| 国产精品大片wwwwww| 最近2019免费中文字幕视频三| 欧美最猛性xxxxx亚洲精品| 国产精品亚洲网站| 欧美精品在线网站| 欧美午夜宅男影院在线观看| 亚洲人成网站999久久久综合| 亚洲美女动态图120秒| 日韩av不卡在线| 色老头一区二区三区| 欧美日韩福利视频| 伊人一区二区三区久久精品| 91人人爽人人爽人人精88v| 国产精品草莓在线免费观看| 亚洲一区国产精品| 91沈先生在线观看| 亚洲sss综合天堂久久| 欧美精品www| 日韩中文字幕免费看| 亚洲国产古装精品网站| 欧美成人在线影院| 日本精品免费观看| 亚洲午夜精品久久久久久久久久久久| 性欧美长视频免费观看不卡| 国产精品白嫩初高中害羞小美女| 国产精品揄拍500视频| 国产97在线|亚洲| 国产成人综合精品在线| 欧美亚洲国产另类| 福利精品视频在线| 欧美日韩一区二区精品| 日韩精品在线私人| 色综合五月天导航| 亚洲图片在区色| 国产精品久久久久7777婷婷| 欧美大成色www永久网站婷| 91色在线视频| 欧美高清激情视频| 91精品一区二区| 亚洲精品少妇网址| 亚洲影院色在线观看免费| 亚洲欧美国产高清va在线播| 国自在线精品视频| 欧美激情一区二区三区久久久| 国产一区二区三区在线免费观看| 久久精品久久久久久国产 免费| 欧美激情精品久久久久久变态| 6080yy精品一区二区三区| 成人免费福利视频| 成人午夜在线视频一区| 亚洲精品aⅴ中文字幕乱码| 欧美成人免费网| 亚洲精品v欧美精品v日韩精品| 欧美精品亚州精品| 欧美极品美女视频网站在线观看免费| 成人免费在线视频网址| 日韩精品视频观看| 日韩欧美aⅴ综合网站发布| 成人激情在线观看| 久久久久久久网站| 97视频在线观看播放| 国产精品久久久久91| 激情久久av一区av二区av三区| 久久91超碰青草是什么| 亚洲人成电影在线观看天堂色| 久久久久久亚洲精品中文字幕| www.精品av.com| 亚洲一区第一页| 日韩在线播放av| 亚洲欧美在线一区二区| 一区二区三区在线播放欧美| 欧美激情视频一区二区三区不卡| 蜜月aⅴ免费一区二区三区| 中文字幕亚洲无线码a| 国产亚洲欧美日韩美女| 国产精品久久久av| 国产欧美亚洲视频| 777精品视频| 日韩一中文字幕| 欧美性在线视频| 国内精品久久久久久| 91成人精品网站| 97精品视频在线| 亚洲自拍偷拍第一页| 国产精品久久激情| 91精品国产91久久久久福利| 亚洲美女性生活视频| 国产精品色悠悠| 成人动漫网站在线观看| 亚洲女人天堂视频| 欧美中文字幕精品| 国产综合久久久久久| 日韩电影视频免费| 日韩久久精品成人| 国产91在线播放精品91| 久久久久久久久久久久久久久久久久av| 日韩国产中文字幕| 亚洲国产精品va在线看黑人| 高跟丝袜一区二区三区| 日韩在线免费高清视频| 成人亚洲欧美一区二区三区| 久久久精品视频在线观看| 午夜免费在线观看精品视频| 欧美一区二区.| 日韩电影免费在线观看中文字幕| 全亚洲最色的网站在线观看| 国产色婷婷国产综合在线理论片a|