<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 閱讀(475) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲情XO亚洲色XO无码| 亚洲天堂中文字幕在线| 91亚洲va在线天线va天堂va国产 | 久久这里只精品热免费99| 亚洲日韩在线第一页| 一级毛片a免费播放王色电影| 国产麻豆剧传媒精品国产免费| 亚洲欧美第一成人网站7777 | 亚洲一区二区高清| 国产精品免费大片一区二区| 亚洲国产中文v高清在线观看| 一区二区视频在线免费观看| 亚洲综合久久夜AV | a国产成人免费视频| 亚洲综合精品一二三区在线| 91精品免费国产高清在线| 99久久婷婷国产综合亚洲| 国语成本人片免费av无码| 亚洲精品无码专区在线| 亚洲AV无码乱码在线观看牲色| 亚洲一级片免费看| 日韩亚洲AV无码一区二区不卡 | mm1313亚洲精品国产| 一区视频免费观看| 亚洲视频精品在线| 成人浮力影院免费看| 久久精品国产亚洲AV| 国产亚洲AV夜间福利香蕉149| 日本一卡精品视频免费| 中文字幕亚洲精品无码| 亚洲国产午夜福利在线播放| 免费在线看黄网站| 亚洲日本va一区二区三区| 亚洲国产精品狼友中文久久久 | 久久久久亚洲av成人无码电影| 国内精品免费视频精选在线观看 | 亚洲AV成人噜噜无码网站| 又色又污又黄无遮挡的免费视| a级毛片免费全部播放| 亚洲影院天堂中文av色| 亚洲精品成人无码中文毛片不卡|