Java Blog for Alex Wan

          Let life be beautiful like summer flowers and death like autumn leaves.

          統計

          留言簿(10)

          BlogJava

          Blogs

          DIV+CSS

          JQuery相關

          友情鏈接

          常去的地方

          數據供應

          閱讀排行榜

          評論排行榜

          tomcat數據源讀取的簡單例子

          應朋友的要求寫下這篇文章,實現一個簡單的例子,用于讀取tomcat數據源

          BaseDAO.java

          import java.sql.Connection;
          import java.sql.PreparedStatement;
          import java.sql.SQLException;
          import javax.naming.Context;
          import javax.naming.InitialContext;
          import javax.naming.NamingException;
          import javax.sql.DataSource;


          public class BaseDAO
          {
           
          private static DataSource pool = null;
           
          private static Context env = null;
           
          //private Connection conn = null;
           protected String tableName="";
           
          public BaseDAO() throws AppException//構造
           {
            
          if (pool != nullreturn;
            
            
          try
            
          {
             env 
          = (Context) new InitialContext().lookup("java:comp/env");
             pool 
          = (DataSource)env.lookup("jdbc/" + "appid");//數據源id
            }

            
          catch(NamingException ne) 
            
          {
             env 
          = null;
             pool 
          = null;
             System.out.println(ne.getMessage());
             
          throw new AppException(ne.getMessage());
            }

           }

           
           
          public Connection getConn() throws AppException//獲取連接
           {
            
          try
            
          {
             
          if (pool == null)
              
          throw new AppException("Data source invalid!");
             
          else
              
          return pool.getConnection();
            }

            
          catch(SQLException e) 
            
          {
             
          throw new AppException(e.getMessage());
            }

           }

           
           
          public void closeConn(Connection conn)//關閉連接
           {
            
          try
            
          {
             
          if (conn != null) conn.close();
            }

            
          catch (Exception e)
            
          {
            }

           }

          }

          另外AppException的實現如下:
          AppException.java

          import java.lang.Exception;

          public class AppException extends Exception
          {
           
          /**
            * 
            
          */

           
          private static final long serialVersionUID = 1L;

           
          public AppException(Exception exc)
           
          {
            
          super(exc.getCause());
           }

           
           
          public AppException(String errorMessage)
           
          {
            
          super(errorMessage);
           }

          }


           

          其實這一種方式也不是最好的方式,而且依賴tomcat的數據源,開啟了連接后一定要記得關閉連接,這樣管理起來容易出錯,建議可以是使用ibatis替代



          Let life be beautiful like summer flowers and death like autumn leaves.

          posted on 2008-06-07 10:21 Alexwan 閱讀(1050) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 保山市| 陆丰市| 搜索| 扬州市| 平和县| 城固县| 陕西省| 永胜县| 普兰店市| 登封市| 团风县| 同德县| 隆德县| 北辰区| 班戈县| 贵港市| 青川县| 上栗县| 上饶市| 阜南县| 兰溪市| 扬州市| 德昌县| 灌阳县| 连云港市| 广德县| 岐山县| 通化市| 砚山县| 成安县| 子长县| 梅河口市| 丹东市| 浦城县| 镇宁| 东乌珠穆沁旗| 天祝| 金寨县| 克什克腾旗| 赫章县| 双牌县|