JDBC CRUD Ejemplo en MySQL y Oracle Usando Tx JavaSE + Properties File
JDBC CRUD Ejemplo en MySQL y Oracle Usando Tx JavaSE + Properties File
Este Proyecto maven con java se 8 realiza una conexión con BD mysql,oracle mediante un archivo properties. Los métodos en la clase MainAlumno serán transaccionales.
La configuracion de la bd es solo una tabla de nombre alumnos, con 2 campos un id como pk y nombre varchar.
Estructura del proyecto:
Clase conexión: aquà se encuentra la lógica para acceder al archivo properties mediante un fileinputstream.
package com.tx.conexion;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
/**
* Clase Conexion JDBC
*/
public class Conexion {
private static String JDBC_DRIVER;
private static String JDBC_URL;
private static String JDBC_USER;
private static String JDBC_PASS;
private static Driver driver = null;
//Para que no haya problemas al obtener la conexion de
//manera concurrente, se usa la palabra synchronized
public static synchronized Connection getConnection()
throws SQLException {
if (driver == null) {
try {
Properties p = new Properties();
InputStream fie = new FileInputStream("src/main/resources/config.properties");
p.load(fie);
JDBC_DRIVER = p.getProperty("jdbc.driver");
JDBC_URL = p.getProperty("jdbc.url");
JDBC_USER = p.getProperty("jdbc.user");
JDBC_PASS = p.getProperty("jdbc.pass");
fie.close();
//Se registra el driver
Class jdbcDriverClass = Class.forName(JDBC_DRIVER);
driver = (Driver) jdbcDriverClass.newInstance();
DriverManager.registerDriver(driver);
} catch (Exception e) {
System.out.println("Fallo en cargar el driver JDBC");
e.printStackTrace();
}
}
return DriverManager.getConnection(JDBC_URL, JDBC_USER, JDBC_PASS);
}
//Cierre del resultSet
public static void close(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
//Cierre del PrepareStatement
public static void close(PreparedStatement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
//Cierre de la conexion
public static void close(Connection conn) {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
}
Ahora para acceder a la base deseada solo se debe modificar el archivo .properties
código fuente
No hay comentarios.