<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)計

    留言簿(10)

    BlogJava

    Blogs

    DIV+CSS

    JQuery相關(guān)

    友情鏈接

    常去的地方

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

    閱讀排行榜

    評論排行榜

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

    應(yīng)朋友的要求寫下這篇文章,實(shí)現(xià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í)這一種方式也不是最好的方式,而且依賴tomcat的數(shù)據(jù)源,開啟了連接后一定要記得關(guān)閉連接,這樣管理起來容易出錯,建議可以是使用ibatis替代



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

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


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产区男人本色在线观看| 久久久久亚洲国产AV麻豆| 久久久久久精品成人免费图片| 亚洲乱理伦片在线观看中字| 久久精品国产亚洲5555| 99精品视频免费观看| 麻豆亚洲AV成人无码久久精品| 亚洲中文字幕无码爆乳AV| 无码国产精品一区二区免费式直播 | 亚洲午夜精品一区二区公牛电影院| 久久精品网站免费观看| 一区二区三区视频免费观看| 亚洲第一精品电影网| 免费一级大黄特色大片| 57pao国产成永久免费视频| 午夜成人无码福利免费视频| 97久久精品亚洲中文字幕无码 | 亚洲永久无码3D动漫一区| 91情侣在线精品国产免费| 美女网站在线观看视频免费的| 亚洲av无码片区一区二区三区| 亚洲色偷偷狠狠综合网| AA免费观看的1000部电影| 亚洲免费观看视频| 国产亚洲综合精品一区二区三区| 亚洲最大免费视频网| 怡红院亚洲怡红院首页| 国产青草视频免费观看97| 成年人视频免费在线观看| 中文字幕成人免费高清在线| 亚洲国产精品嫩草影院| 亚洲精品在线免费观看视频| 亚洲精品无码久久久影院相关影片 | 亚洲乱码无人区卡1卡2卡3| 亚洲伦理一区二区| 日本亚洲国产一区二区三区| 色www永久免费视频| 美女视频黄是免费的网址| 久久久久免费看成人影片| a级毛片免费在线观看| 免费人成在线观看播放a|