En este tutoríal vamos ha mostrar como realizar un POOL de conexiones para tener centralizada nuestra conexión a una base de datos MySQL, hay que tener en cuenta que este proceso se realiza totalmente igual si queremos conectarnos a ORACLE o a cualquier otra base de datos, esto nos evitara hacer una conexión nueva cada vez que queramos hacer una consulta nueva a la base.
Antes de empezar vamos a utilizar las siguientes herramientas:
- NetBeans 6.0
- MySQL
Vamos a tener creada previamente en MySQL una base de datos llamada “prueba” y dentro de ella una tabla llamada “roles” con dos columnas con las filas de datos que usted prefiera ingresarle a esta tabla, este detalle pasa por cuenta de la persona que sigue este tutorial.
¿Pero qué es un Connection Pool o Pool de conexiones?
Un JDBC connection pool es un grupo de conexiones reutilizables que el servidor de la aplicación mantiene para una base de datos en particular. Cuando una aplicación cierra una conexión, regresa a la piscina. Las conexiones agrupadas reducen el tiempo de la transacción al conectarse a una base de datos por medio de compartir el objeto de acceso a la conexión a la base de datos, esto a su vez evita una nueva conexión física o crear cada vez una conexión nueva.
Al ejecutar esto es lo que pasa cuando una aplicación se conecta a la base de datos.
1. Lookup JNDI nombre de los recursos de JDBC. Para conectar a una base de datos, la aplicación busca el JNDI nombre del recurso de JDBC (Data Source) asociado con la base de datos. El API de JNDI permite a la aplicación localizar el recurso de JDBC.
2. Localizar el JDBC connection pool. El recurso de JDBC especifica qué piscina de conexiones va a usar. La piscina define los atributos de conexión como la base de datos nombre (el URL), nombre del usuario, y contraseña.
3. Recupere la conexión del connection pool. El servidor de la aplicación recupera una conexión física de la piscina de conexiones que corresponde a la base de datos. Ahora que la aplicación esta conectada a la base de datos, la aplicación puede leer, modificar y agregar los datos a la base de datos. Las aplicaciones acceden la base de datos haciendo las llamadas al API de JDBC.
4. Cerrado de la conexión. Cuando el acceso a la base de datos a terminado, la aplicación cierra la conexión. El servidor de la aplicación devuelve la conexión a la piscina de conexión. Una vez regresada a la piscina, la conexión está disponible para una próxima aplicación.
Nombre JNDI. Cada recurso tiene un único nombre de JNDI que especifica su nombre y situación. Porque todo el recurso que los nombres de JNDI están en el contexto del java:comp/env, los nombres JNDI de un recurso de JDBC se espera en el contexto del java:comp/env/jdbc.
Sigue paso a paso el tutorial para realizar un Connection Pool…


Muchas Gracias. Muy Util
Por: lefunes el mayo 5, 2008
a las 7:19 am
HOla la verdad temgo un problema , tengo una conexion a mi base de datos con un pool de conexiones , uso web logic , oracle 8i y estoy programndo en netbeans usando el modelo vista controlador , pero mi problema radica enq u debo crear dos pool de conexiones disitntos apra en lazar a dos bases en la mima aplicacion, pero no se como hacer referencia al segundo pool de conexiones ????La respuesta seria igualq eu en el primero pero yo no configure esa conexion y estoy totalemte perdida tengo una linea similar a esta
sc = config.getServletContext();
sc.setAttribute(“origenJDBC”,config.getInitParameter(“origenJDBC”));
ConexionJDBC conexion = new ConexionJDBC(“weblogic.jndi.WLInitialContextFactory”);
conexion.inicializar((String)sc.getAttribute(“origenJDBC”),”t3://localhost:7001″); //weblogic
sc.setAttribute(“conexion”, conexion);
donde “OrigenJDBC” es igual al nombre del pool de conexiones en mi web.xml en la tag pero no se si yo se lo puedo agregar asi o se crea por default o bien si puedo darle ese atributo directo de la siguiente forma
conexion.inicializar(“poolde conexion2″,”t3://localhost:7001″);
suponiendo qeu el segundo pool se llame “pooldeconexion2″ cual quier ayuda o sugerencia en verdad se los agradeceria mi email es morazul_ngmt@hotmail.com
Por: nora gisela el junio 17, 2008
a las 5:35 pm
Hola a todos,veo que saben bmucho sobre JavaNetBeans 6.1 y pues quisiera saber si me puedes recomendar un link donde se encuentre un tutorial de esta version de Java ya que estoy bastante interesado en aprender este lenguaje de programacion asi que si alguien de ustedes me puede ayudar se lo agradeceria bastante.
Por: aquiles el julio 29, 2008
a las 1:20 pm
Hola aquiles,
Si quieres aprender Java, revisa: http://java.sun.com/docs/books/tutorial/
Saludos
Por: Jorge López (jorgaf) el julio 30, 2008
a las 2:42 pm
Buen dia.
Necesito ayuda por favor
Ya llevo investigando por mucho tiempo a mi problema, no encontrado la solucion. (Soy nuevo)
Necesito filtrar para mostrar esa informacion en una tabla
en el diseño arrastre una Tabla, TextField, Boton
Arrastre una tabla de la base de datos en la Tabla del diseño, En sessionBeans Tengo un RowSet con Select * from MITABLA, Modifique en criteria Ahora queda Select * from Where ID = ?, como hago el filtro.
al presionar boton necesito que tome lo que hay en TexField y que me muestre los datos relacionados al ID que esta en TextField.
Por Favor
Mil Gracias.
Por: Gomez el septiembre 4, 2008
a las 6:40 pm
Buen dia.
Necesito ayuda por favor
Ya llevo investigando por mucho tiempo a mi problema, no encontrado la solucion. (Soy nuevo)
Necesito filtrar para mostrar esa informacion en una tabla
en el diseño arrastre una Tabla, TextField, Boton
Arrastre una tabla de la base de datos en la Tabla del diseño, En sessionBeans Tengo un RowSet con Select * from MITABLA, Modifique en criteria Ahora queda Select * from Where ID = ?, como hago el filtro.
al presionar boton necesito que tome lo que hay en TexField y que me muestre los datos relacionados al ID que esta en TextField.
gomezcos@gmail.com
Por Favor
Mil Gracias.
Por: Gomez el septiembre 4, 2008
a las 7:01 pm
“Select * from MITABLA Where ID=”+miTextfield.getText(),
SI QUIERES MOSTRAR EL RESULTADO EN UN JTABLE UTILIZA UN BULCE FOR PARA RECORRER EL RecordSet E IR ASIGNANDO LOS REGISTROS EN LAS COLUMNAS RESPECTIVAS.
SUERTE.
Por: JoseLuis el octubre 3, 2008
a las 5:23 pm
Tengo una duda..
¿Como configuro el pool de conexiones para acceder a varias bases de datos en una misma aplicación?
Por ejemplo, necesito sacar datos desde Oracle y Sybase.
Saludos.
Por: janoterrano el octubre 10, 2008
a las 12:32 pm
hola a todos , veo ke saben mucho de java los chicos.
mi pregunta para vos jorge es sobre J2ME:
¿ como puedo obtener los datos de dferentes pantallas ? ej: pantalla cliente cuando selecciono , tengo ke registrar en un RMS aparte el ID de este , uy luego las mercaderias o productos ke pide el mismo …
Por favor dame una manito . gracias y segi asi oke sos un campeon
Por: lucas el octubre 13, 2008
a las 12:58 pm
alguien sabe de J 2 M E ? ? ? ? ?
Por: lucas el octubre 14, 2008
a las 6:15 pm
bueno, me he dado cuenta que los chicos de loja – ecuador no saben tanto de java …..
Lo mejor que pueden hacer las pesonas es comprarse un manual de lo que necesitan ……..
Yo ya lo hice, y me esta saliendo TODO
Por: lucas el noviembre 6, 2008
a las 11:27 am
Hola lucas,
Qué bien que las cosas te vayan saliendo bien, ahora te invito a que seas parte activa de café lojano y puedas escribir sobre tus experiencias en JME (ya no se llama J2ME).
Así que la invitación está hecha.
Saludos desde Loja – Ecuador
Por: Jorge López (jorgaf) el noviembre 6, 2008
a las 12:39 pm
perdoname JORGE pero , si ustedes desarrollaron este foro, Ustedes tienen que brindar ayuda y nosotros hacemos las preguntas
saludos desde Argentina – Buenos Aires
Por: lucas el noviembre 7, 2008
a las 8:10 pm
hola lucas: si bien este post y comentario es de hace mucho tiempo. Hoy me encuentro ante la disyuntiva de utilizar rms o alguna alternativa para realizar la conexion a una base de datos. Yo estoy creando una aplicacion J2ME en NetBeans, el cual necesita de contar con una base de datos. Empeze utilizando el rms, pero no me parece una buena opcion, ya que no puedo manejar los datos ( para crearlos, llamarlos , modificarlos, etc) sin que me ralentize la aplicacion al estar instalada en el celular, por que cuenta con muchos datos. Espero que me puedas ayudar en algo de lo nuevo que aprendiste. Saludoss!!!
Por: juanhuloo el febrero 8, 2012
a las 8:48 am
Hola lucas,
Ésta es una comunidad, un espacio para compartir. No veo ningún inconveniente en que compartas tus conocimientos que haz adquirido y así la comunidad se beneficie. Piénsalo y anímate a escribir.
Saludos desde Loja – Ecuador
Por: Jorge López (jorgaf) el noviembre 12, 2008
a las 6:44 am
Hola Jorge,
Estoy intentando obtener una aplicación web sencilla con gwt ext y apache derby (tomcat 6) que pueda acceder a una bd Oracle.
He realizado una conexión sin problemas, el caso es que no sé como usar la clase que conecta con la bd y que está del lado servidor como servlet.
Saludos
Por: Perenquén el julio 24, 2009
a las 7:53 am
Hola amigo
nesesito una ayudaa de ud, ya que nesesito crear un pool de conexion que me permita conectarme con varias usuarios diferentes de base de datos,
y por lo q e visto el pool de conexion es solo por usuario de base de datos
agradesco su ayuda
slds
Por: Diego guerra el octubre 27, 2009
a las 2:10 pm
ES BACAN EL POOL ES MUY BUENO
Por: FERNANDO el abril 27, 2011
a las 2:11 pm