从类创建连接池

时间:2013-05-19 20:50:06

标签: java mysql java-ee tomcat7

连接到执行的数据库: 1.-创建一个类conexionX,我放置数据连接(没有连接池) 2.-在DAO类中从conexionX类获取Connection,以便操作数据库。

我的问题是如何使用连接池进行操作?

我尝试了以下操作,但无法正常工作

PoolConexiones.java

不是servlet是普通类

package Modelo;

import java.sql.*;
import javax.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

public class PoolConexiones extends HttpServlet {

    private  DataSource sourceDb = null;
    private  Connection con=null;
    @Override
    public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
        super.init(config);

        try {
            // recuperamos el contexto inicial y la referencia a la fuente de
            // datos
            Context ctx = new InitialContext();
            sourceDb = (DataSource) ctx.lookup("java:comp/env/jdbc/Practica5");
        } catch (Exception e) {
            throw new ServletException(
                    "Imposible recuperar java:comp/env/jdbc/tutoriales", e);
        }
    }

    public  Connection getConnection() {

        try {
            synchronized (sourceDb) {
                con=sourceDb.getConnection();
            }
            if(con==null){
                  throw new ServletException("Problemas con la conexion");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ServletException e) {


    // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return con;
}
public void CerraConexion(){

    try {
        con.close();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}

0 个答案:

没有答案