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

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

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

    Java Blog for Alex Wan

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

    統(tǒng)計(jì)

    留言簿(10)

    BlogJava

    Blogs

    DIV+CSS

    JQuery相關(guān)

    友情鏈接

    常去的地方

    數(shù)據(jù)供應(yīng)

    閱讀排行榜

    評(píng)論排行榜

    tomcat數(shù)據(jù)源讀取的簡(jiǎn)單例子

    應(yīng)朋友的要求寫(xiě)下這篇文章,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的例子,用于讀取tomcat數(shù)據(jù)源

    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//構(gòu)造
     {
      
    if (pool != nullreturn;
      
      
    try
      
    {
       env 
    = (Context) new InitialContext().lookup("java:comp/env");
       pool 
    = (DataSource)env.lookup("jdbc/" + "appid");//數(shù)據(jù)源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)//關(guān)閉連接
     {
      
    try
      
    {
       
    if (conn != null) conn.close();
      }

      
    catch (Exception e)
      
    {
      }

     }

    }

    另外AppException的實(shí)現(xiàn)如下:
    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);
     }

    }


     

    其實(shí)這一種方式也不是最好的方式,而且依賴(lài)tomcat的數(shù)據(jù)源,開(kāi)啟了連接后一定要記得關(guān)閉連接,這樣管理起來(lái)容易出錯(cuò),建議可以是使用ibatis替代



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

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


    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲va精品中文字幕| 久久午夜夜伦鲁鲁片无码免费| 亚洲视频在线观看免费视频| 亚洲Av无码乱码在线播放| 日韩吃奶摸下AA片免费观看| 97公开免费视频| 曰批全过程免费视频在线观看无码| 国产成人+综合亚洲+天堂| 一本天堂ⅴ无码亚洲道久久| 99久久亚洲综合精品成人网| 国产精品国产亚洲精品看不卡| 免费国产小视频在线观看| 午夜毛片不卡高清免费| 100000免费啪啪18免进| 最近中文字幕mv免费高清在线| 国产精品小视频免费无限app | 在线看无码的免费网站| 国内精品一级毛片免费看| 99在线热播精品免费99热| 一个人看的hd免费视频| 一个人看的www在线免费视频| 一级毛片免费一级直接观看| 美女黄网站人色视频免费| 精品特级一级毛片免费观看| 在线亚洲精品视频| 国产精品久久久久久亚洲小说| 国产亚洲精品AAAA片APP| 亚洲av无码专区在线观看亚| 亚洲精品9999久久久久无码| 亚洲av无码一区二区三区人妖| 午夜亚洲WWW湿好爽| 亚洲AV无码成人网站在线观看| 成a人片亚洲日本久久| 色费女人18女人毛片免费视频| 色屁屁在线观看视频免费| 一级黄色免费大片| 全黄大全大色全免费大片| 免费av一区二区三区| 日韩精品久久久久久免费| av无码久久久久不卡免费网站| 无限动漫网在线观看免费|