Java Database Connectivity (JDBC)
Java™ Database Connectivity (JDBC) es una API de Java para conectarse e interactuar con bases de datos relacionales.
Las características JDBC se listan en la tabla siguiente:
Característica | Soporte | Versiones de Java soportadas | Versiones de Enterprise Java soportadas |
---|---|---|---|
jdbc-4.0 |
JDBC versión 4.0 |
|
|
jdbc-4.1 |
JDBC versión 4.1 |
|
|
jdbc-4.2 |
JDBC versión 4.2 |
|
|
jdbc-4.3 | JDBC versión 4.3 |
|
|
cicsts:jdbc-1.0 |
CICS para JDBC para conexiones Db2® de tipo 2 |
|
|
Para obtener más información sobre cómo configurar el soporte de JDBC , consulte Configuración de la conectividad de base de datos con JDBC.
Desarrollo de aplicaciones con interacción de base de datos
Existen dos métodos para interactuar con la base de datos Db2 .
- Origen de datos
El
javax.sql.DataSource
se puede buscar en JNDI utilizando el jndiName definido en el elemento de configuración dataSource o cicsts_dataSource . Este objetojavax.sql.DataSource
se puede utilizar para obtener un objetojava.sql.Connection
para interactuar con la base de datos.En función de la implementación de
javax.sql.DataSource
, puede ser importante confirmar o retrotraer la conexión antes de cerrar. Para obtener más información, consulte Diferencias entre las características JDBC de Liberty y la característica CICS JDBC.- Gestor de controladores
La clase
java.sql.DriverManager
se puede utilizar para quejava.sql.Connection
interactúe con la base de datos. El URL de conexión esjdbc:default:connection
para la conectividad de tipo 2 en CICS. Para obtener más información, consulte Conexión a un origen de datos utilizando la interfaz DriverManager con IBM Data Server Driver for JDBC and SQLJ
Diferencias entre las características JDBC de Liberty y la característica JDBC de CICS
Liberty proporciona las características JDBC jdbc-4.0
, jdbc-4.1
, jdbc-4.2
y jdbc-4.3
para conectarse a diversas bases de datos relacionales. En CICS Liberty, el soporte JDBC de Liberty se puede utilizar para conectarse a una base de datos Db2 a través de CICS DB2CONN con conectividad de tipo 2, o de forma remota con conectividad de tipo 4. Liberty JDBC da soporte a las API java.sql
y javax.sql
y proporciona implementaciones de javax.xml.DataSource
a través de la configuración de dataSource .
cicsts:jdbc-1.0
para dar soporte a la conectividad de tipo 2 a través de CICS DB2CONN. CICS da soporte a la API de java.sql
y proporciona una implementación de javax.sql.DataSource
a través de la configuración de cicsts_dataSource .batch-1.0
.CICS y Liberty JDBC dan soporte a transacciones que utilizan la API JDBC . Para la conectividad JDBC de tipo 2, las actualizaciones de Db2 se gestionan como parte de la unidad de trabajo CICS a través del recurso CICS DB2CONN . Liberty y CICS JDBC difieren en cómo se gestionan las conexiones.
LibertadJDBC cerrará automáticamente la conexión después de que se complete el procesamiento, lo que provocará que la transacción se revierta o se confirme, según elcommitOrRollbackOnCleanup atributo de ladataSource elemento. La configuración predeterminada esrollback
, entonces un implícitojava.sql.Connection.commit()
debe ser llamado, provocando queCICS unidad de trabajo a comprometer.
CICS JDBC está gestionado por la unidad de trabajo CICS . Las actualizaciones de base de datos se confirman o se retrotraen cuando la tarea CICS se confirma o se retrotrae.
Tipo | Tipo de conexión | autoCommit | Comportamiento de limpieza predeterminado |
---|---|---|---|
CICS JDBC | Tipo 2 | false |
Confirme la UOW de CICS . |
JDBC de Liberty | Tipo 2 | false |
Retrotraiga la UOW de CICS . |
Tipo 4 | true o false |
Confirme la transacción local. La UOW de CICS no se ve afectada. |
Se puede utilizar una transacción global para gestionar los orígenes de datos de ámbito transaccional. En las transacciones globales, el comportamiento transaccional para Liberty y CICS javax.sql.DataSource
es coherente. Para obtener más información sobre las transacciones globales en Liberty, consulte Java Transaction API (JTA).
Ejemplos
Conexión a una base de datos con la interfazjavax.sql.DataSource
, con una configuración dataSource o cicsts_dataSource que especifica el jndiName jdbc/defaultCICSDataSource
.import java.sql.Connection;
import java.sql.SQLException;
import javax.annotation.Resource;
import javax.sql.DataSource;
public class DataSourceExample
{
// Inject the DataSource resource using JNDI
@Resource(name = "jdbc/defaultCICSDataSource")
private DataSource dataSource;
public void accessDb() throws SQLException
{
try(Connection conn = dataSource.getConnection())
{
// Interact with SQL using the Connection object
}
}
}
java.sql.DriverManager
que utiliza la configuración cicsts_jdbcDriver .import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DriverManagerExample
{
public void accessDatabase() throws SQLException
{
try(Connection conn = DriverManager.getConnection("jdbc:default:connection"))
{
// Interact with SQL using the Connection object
}
}
}