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 閱讀(1049) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 谷城县| 肇源县| 南充市| 嘉鱼县| 绵竹市| 南漳县| 翼城县| 遂昌县| 巨野县| 桑植县| 博湖县| 墨江| 徐州市| 绥宁县| 达日县| 大厂| 博湖县| 广汉市| 郑州市| 浦县| 岑巩县| 渝中区| 马龙县| 兴国县| 抚远县| 临沧市| 东明县| 萨嘎县| 临武县| 特克斯县| 洛扎县| 冀州市| 万载县| 嘉峪关市| 桂林市| 云林县| 伊金霍洛旗| 和静县| 博客| 台北县| 新营市|