<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Kimi's NutShell

    我荒廢的今日,正是昨日殞身之人祈求的明日

    BlogJava 新隨筆 管理
      141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks

    package classmate;
    import java.sql.*;

    import javax.sql.DataSource;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    public class DataStore {
    ?
    ?DataSource dataSource = null;
    ?private static Connection conn = null;
    ?private Statement stmt = null;
    ?private boolean hadErrors = false;
    ?
    ?//construct
    ?public DataStore(DataSource dataSource) throws Exception{
    ??this.dataSource = dataSource;
    ??conn = dataSource.getConnection();
    ??stmt = conn.createStatement();
    ?}
    ?
    ?//invoke transaction
    ?public void beginTransaction() throws SQLException{
    ??conn.setAutoCommit(false);
    ?}
    ?
    ?//perform transaction
    ?public void commitTransaction() throws SQLException{
    ??//hadErrors = false
    ??if(!hadErrors){
    ???conn.commit();
    ??}
    ??else{? //hadErrors = true
    ???conn.rollback();
    ???hadErrors = false;
    ??}
    ??hadErrors = false;
    ??conn.setAutoCommit(true);
    ?}
    ?
    ?//mark error
    ?public void ErrorOccur(){
    ??hadErrors = true;
    ?}
    ?
    ?//execute insert,delete,update
    ?synchronized public void execute(String sql) throws SQLException{
    ??if(stmt != null)
    ???stmt.executeUpdate(sql);
    ??else{
    ???Log log = LogFactory.getLog("mylog");
    ???log.error("fail to execute sql");
    ??}
    ?}
    ?
    ?//execute select
    ?synchronized public ResultSet read(String sql) throws SQLException{
    ??if(stmt != null){
    ???ResultSet tmp = null;
    ???tmp = stmt.executeQuery(sql);
    ???return tmp;
    ??}else{
    ???return null;
    ??}
    ?}
    ?
    ?// count of result
    ?synchronized public int readCount(String sql) throws SQLException{
    ??int nCount = 0;
    ??try{
    ???if(stmt != null){
    ????ResultSet tmp = null;
    ????tmp = stmt.executeQuery(sql);
    ????if(tmp != null && tmp.next()){
    ?????nCount = tmp.getInt(1);
    ????}else{
    ?????nCount = 0;
    ????}
    ???}
    ??}catch(SQLException e){
    ???nCount = 0;
    ??}
    ??return nCount;
    ?}
    ?
    ?// close db
    ?synchronized public void stop(){
    ??try{
    ???if(conn != null){
    ????conn.close();
    ????stmt.close();
    ???}
    ??}catch(Exception e){
    ???Log log = LogFactory.getLog("mylog");
    ???log.error("fail to close db- DataStore.java");
    ??}finally{
    ???conn = null;
    ??}
    ?}
    }

    還在研究,貌似DCL的問題還存在。

    posted on 2007-10-24 16:35 Kimi 閱讀(482) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲AV一宅男色影视| 成人性生交视频免费观看| 在线91精品亚洲网站精品成人| 亚洲毛片一级带毛片基地| 久久久久亚洲AV无码永不| 亚洲一区二区中文| 亚洲第一中文字幕| 亚洲国产模特在线播放| 亚洲精品久久久久无码AV片软件| 亚洲精品无码激情AV| 99免费在线观看视频| 免费人成在线观看视频高潮| 亚欧免费无码aⅴ在线观看| 成人最新午夜免费视频| 亚洲成av人在线视| 亚洲欧洲国产综合AV无码久久| eeuss草民免费| 在线观看免费人成视频色| 国产亚洲老熟女视频| 亚洲乱码卡三乱码新区| 三年片免费高清版| 韩国18福利视频免费观看| 久久亚洲精品成人无码网站| 老司机午夜精品视频在线观看免费| 亚欧日韩毛片在线看免费网站| 免费人成在线观看网站品爱网日本| 久久夜色精品国产噜噜亚洲AV| 污污视频网站免费观看| 女人18毛片水真多免费看| 亚洲色图国产精品| 国产免费一区二区视频| 亚洲精品成人久久久| 亚洲av永久无码精品网址| 丁香花免费高清视频完整版| 亚洲欧洲国产精品你懂的| 两个人看的www视频免费完整版| 日韩成人免费视频播放| 97久久国产亚洲精品超碰热| 114级毛片免费观看| 亚洲AV无码国产精品色午友在线| 一级成人生活片免费看|