TEMA:
Connection
1.
Contenido
·
Definición
Connection representa
una conexión a una Base de datos dada, luego representa el lugar adecuado para
el manejo de transacciones, dado que estas afectan a todas las sentencias
ejecutadas sobre una conexión a la base de datos.
Por defecto, una conexión funciona en modo autocommit,
es decir, cada vez que se ejecuta una sentencia SQL se abre y se cierra
automáticamente una transacción, que sólo afecta a dicha sentencia. Es posible
modificar esta opción mediante setAutoCommit (), mientras que getAutoCommit
() indica si se está en modo autocommit o no. Si no
se está trabajando en modo autocommit será necesario que se cierren
explícitamente las transacciones mediante commit() si tienen
éxito, o rollback(), si fallan; nótese que, tras cerrar una
transacción, la próxima vez que se ejecute una sentencia SQL se abrirá
automáticamente una nueva, por lo que no existe ningún método del tipo que
permita iniciar una transacción.
La interfaz Connection, cuando se
utiliza uno de los métodos anteriormente mencionados se obtiene un objeto de
tipo Connection que representa como es de esperar la conexión con la base de
datos. El objeto obtenido cuenta con varios métodos. Dos de los más importantes
son: public abstract Statement createStatement() throws SQLException public
abstract void close() throws SQLException El primero de los métodos sirve para
crear un objeto del tipo Statement. Las frases SQL se ejecutan normalmente
mediante la utilización de objetos del tipo Statement. Finalmente, es
conveniente cerrar las conexiones tan pronto como dejen de utilizarse para
liberar recursos.
El objeto Connection representa una conexión
HTTP entre la prueba dinámica (el cliente) y el servidor Web. La prueba abre la
conexión, aunque tanto la prueba como el servidor Web pueden cerrarla. Se
pueden enviar múltiples solicitudes mediante una sola conexión, siempre que
esta última permanezca abierta.
Data Source:
|
DSN=Nombre ODBC de la Base de Datos
|
Usuario:
|
UID=Nombre de Usuario
|
Password:
|
PWD=Password del usuario para la base
de datos
|
Propiedades
ConnectionString
Especifica la referencia a la base de datos con la cual queremos conectar, conteniendo en una cadena de texto la información necesaria para efectuar esa conexión mediante parejas de valores separadas por ";".
Los valores que podemos asignar son:
Ejemplo:
<% conexion.ConnectionString="DSN=MIOdbc;UID=pepe;PWD=1234" %>
Mode
Especifica los permisos de la conexión.
Algunos de los valores más habituales que podemos asignar son:
1 Establece permiso solo de Lectura
2 Establece permiso solo de Escritura
3 Establece permiso de Lectura/Escritura
Ejemplo:
<% conexion.Mode=3 %>
Propiedad
|
Descripción
|
Comprueba si la conexión está abierta.
|
|
Obtiene el número del puerto utilizado por la conexión.
|
|
Obtiene o define el número de redirecciones de
encabezados HTTP que se siguen.
|
|
Obtiene el nombre del host o dirección IP del servidor al
que está conectado el cliente.
|
|
Comprueba si la conexión HTTP entre el cliente y el
servidor utiliza el protocolo SSL ("https://").
|
Métodos
Método
|
Descripción
|
Cierra la conexión, si está abierta. No devuelve un error
si la conexión ya está cerrada.
|
|
Envía una solicitud HTTP al servidor.
|
Métodos:
BeginTrans
Abre una transacción; todas las operaciones que realicemos a partir de ese momento no serán efectivas hasta que no cerremos la transacción.
Ejemplo:
<% conexion.BeginTrans %>
Close
Cierra el objeto
Ejemplo:
<% conexion.close %>
CommitTrans
Cierra una transacción haciendo efectivos los cambios efectuados dentro de ella.;
Ejemplo:
<% conexion.CommitTrans %>
Execute
Ejecuta una sentencia SQL contra la base de datos.
Ejemplo:
<% Set resultado=conexion.execute (Select * from amigos) %>
Open
Abre la conexión con los parámetros especificados en las propiedades.
Ejemplo:
<% conexion.open %>
Cierra el objeto
Ejemplo:
<% conexion.close %>
CommitTrans
Cierra una transacción haciendo efectivos los cambios efectuados dentro de ella.;
Ejemplo:
<% conexion.CommitTrans %>
Execute
Ejecuta una sentencia SQL contra la base de datos.
Ejemplo:
<% Set resultado=conexion.execute (Select * from amigos) %>
Open
Abre la conexión con los parámetros especificados en las propiedades.
Ejemplo:
<% conexion.open %>
RollBackTrans
Deshace todos los cambios efectuados en la base de datos desde el inicio de la transacción.
Ejemplo:
<% conexion.RollBackTrans %>
Ejemplo
package servicios;
import java.sql.*;
public class Conexion {
private static Connection cnx = null;
public static Connection obtener() throws SQLException,
ClassNotFoundException {
if (cnx == null) {
try {
Class.forName("com.mysql.jdbc.Driver");
cnx =
DriverManager.getConnection("jdbc:mysql://localhost/java_mysql",
"root", "");
} catch (SQLException ex) {
throw new SQLException(ex);
} catch (ClassNotFoundException ex) {
throw new
ClassCastException(ex.getMessage());
}
}
return cnx;
}
public static void cerrar() throws
SQLException {
if (cnx != null) {
cnx.close();
}
}
}
2.
Resumen
Connection representa
una conexión a una Base de datos dada, luego representa el lugar adecuado para
el manejo de transacciones, dado que estas afectan a todas las sentencias
ejecutadas sobre una conexión a la base de datos.
La
interfaz Connection, cuando se utiliza uno de los métodos anteriormente
mencionados se obtiene un objeto de tipo Connection que representa como es de
esperar la conexión con la base de datos. El objeto obtenido cuenta con varios
métodos. Dos de los más importantes son: public abstract Statement
createStatement () throws SQLException, public abstract void close () throws
SQLException El primero de los métodos sirve para crear un objeto del tipo
Statement. Las frases SQL se ejecutan normalmente mediante la utilización de
objetos del tipo Statement.
Dentro de esto tenemos sus
propiedades importantes ConnectionString
y Mode.
3. Sumary
Connection represents a
connection to a given database, then represents the right place for handling
transactions, as these affect all statements executed on a connection to the
database.
The Connection interface, when
one of the above methods is used Connection object type that represents as
expected the connection to the database is obtained. The returned object has
several methods. Two of the most important are: public abstract createStatement
Statement () throws SQLException, public abstract void close () throws
SQLException The first method is used to create an object of type Statement.
SQL statements are normally executed using Statement objects of type.
Within this we have important
properties ConnectionString and Mode.
4.
Recomendaciones
Es importante manejar la estructura del lenguaje de Java para poder definir bien todo el objeto connection para poder hacer un buen proyecto y no tener errores.
Es muy importante importar importar la librería JDBC.
5. Conclusiones
Podemos concluir que en lenguaje
Java brinda grandes facilidades para establecer conexiones a base de datos, una
de las mejores prácticas que podemos seguir cuando nos conectamos a una base de
datos es siempre dejar configurada la ruta de acceso o credenciales fuera de
nuestro código, esto con el fin de que el mantenimiento del sistema sea menos
costoso.
Todo lo anterior se logra gracias
a la Java Database Conectivity el cual es un estándar que nos ayuda a
conectarnos a cualquier tipo de base de datos, de una u otra forma podremos
establecer conexión a base de datos ya sea Mysql, Oracle, Postgresql y otras,
lo importante a tener en cuenta es que el driver esté importado en nuestro
classpath, que para este post lo hemos hecho con ayuda de Maven.
6. Apreciación del Equipo
Manejar el lenguaje de programación Java es muy importante por los
buenos beneficios, porque nos ayuda administrar una base de datos y así conocer
su estudio mediante muchas técnicas de aprendizajes sobre todo como nosotros
podemos acceder con la clase connection a la base de datos desde java.
7.
Glosario
Maven: es una herramienta de software para la gestión y construcción
de proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Es similar en
funcionalidad a Apache Ant (y en menor medida a PEAR de PHP y CPAN de Perl),
pero tiene un modelo de configuración de construcción más simple, basado en un
formato XML.
Commit: En el contexto de la
Ciencia de la computación y la gestión de datos, commit (acción de comprometer)
se refiere a la idea de consignar un conjunto de cambios "tentativos"
de forma permanente. Un uso popular es al final de una transacción de base de
datos.
rollback: En tecnologías de
base de datos, un rollback o reversión es una operación que
devuelve a la base de datos a algún estado previo.
createStatement: Método createStatement (ISQLServerConnection) Crea un objeto SQLServerStatement para enviar instrucciones SQL a la base de datos.
Autocommit: es decir, cada vez que se ejecuta una sentencia
SQL se abre y se cierra automáticamente una transacción, que sólo afecta a
dicha sentencia.
SQLException: es una ampliación de java.lang.Exception y proporciona
información adicional relacionada con las anomalías que se producen en un
contexto de base de datos. Específicamente, en una SQLException está disponible la siguiente
información: Texto descriptivo. SQLState.
Execute: Ejecutar
8. Linkografia
Por favor plantear su FORO sobre el tema. Esta bien su PRESENTACION en SLIDESHARE. Replantear las CONCLUSIONES y RECOMENDACIONES . Además defina con sus propias palabras el APRECIACION DE EQUIPO. Gracias por su investigación. Saludos . Gracias
ResponderEliminar