Esta publicación servirá para ir colocando fragmentos de consultas que en algún momento me fueron útiles para usarlo en MongoDB Fragmento 1: Se requería obtener todos los elementos que dentro de un atributo que es de tipo array(arreglo) coincida con type:"fire" Fragmento 2: Se requería actualizar el atributo " lastUpdate " de toda la colección donde la edad sea mayor o igual a 15.
Esta vez voy
a mostrar un patrón muy común en mis desarrollos , trata de el
patrón Singleton de manera practica iré mostrando el ejemplo que
realice con el respectivo código. El ejemplo del patrón realiza una
conexión a base de datos mysql para hacer un select de una tabla.
Este es el diagrama
Pues bien
creamos el proyecto
Dentro del
src creamos el paquete com.elkardumen.conexion para crear la clase
ConnectDB que utilizaremos para crear el patrón , esto debe quedar
mas o menos asi
Colocamos el
código
package
com.elkardumen.conexion;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
public
class
ConnectDB {
private
static
Connection connect;
private
static
ConnectDB instance;
private
ConnectDB() {
try
{
Class.forName("com.mysql.jdbc.Driver");
//
connect DB
connect
=
DriverManager.getConnection("jdbc:mysql://127.0.0.1/MyDataBase","root",
"");
}
catch
(SQLException e) {
System.err.println(e.getMessage());
}
catch
(ClassNotFoundException e) {
System.err.println(e.getMessage());
}
}
public
static
ConnectDB getInstance() {
//Esto
servira
para
que
solo se
haga
una
vez
garantizando
el patron singleton
if
(instance
== null)
{
System.out.println("Se
crea la instancia solo una vez garantizanco el patron Singleton");
instance
= new
ConnectDB();
}
return
instance;
}
public
static
Connection getConnect() {
return
connect;
}
public
static
void
setConnect(Connection connect) {
ConnectDB.connect
= connect;
}
}
Creamos la
clase Principal en el paquete com.elkardumen colocando el siguiente
código:
package
com.elkardumen;
import
java.sql.ResultSet;
import
java.sql.Statement;
import
com.elkardumen.conexion.ConnectDB;
public
class
Principal {
/**
* @param
args
*/
public
static
void
main(String[] args) {
try{
//Creamos
El primer llamado
ConnectDB
con = ConnectDB.getInstance();
Statement
stmt = con.getConnect().createStatement();
String
query = "select
* from micatalogo;"
;
ResultSet
rs = stmt.executeQuery(query) ;
while
(rs.next())
{
System.out.println
(rs.getInt (1) + "
- "
+ rs.getString (2)+ "
- "
+ rs.getString(3));
}
//Creamos
El segundo
llamado
ConnectDB
con2 = ConnectDB.getInstance();
Statement
stmt2
= con2.getConnect().createStatement();
rs
= stmt.executeQuery(query) ;
while
(rs.next())
{
System.out.println
(rs.getInt (1) + "
- "
+ rs.getString (2)+ "
- "
+ rs.getString(3));
}
}catch(Exception
e){
e.printStackTrace();
}
}
}
En espera de que sirva de algo coloco el proyecto listo para descargar
venga!!! minino un saludito no!!!
ResponderBorrarHola gracias por la explicación del patrón, lo estoy probando con EJB, JSP, Servlet y Dao en un CRUD de prueba... Reitero Gracias
ResponderBorrar