Recent comments

JDBC CRUD Ejemplo en MySQL y Oracle Usando [[NO Tx]] JavaSE + Properties File

JDBC CRUD Ejemplo en MySQL y Oracle Usando [[NO Tx]] JavaSE + Properties File


Ejemplo de un crud NO USANDO COMMIT por lo tanto no son transaccionales los metodos de mainalumno, sin embargo ahora se agrega la logica para acceder a la configuracion de las variables de bd mediante el archivo de properties.

Estructura del proyecto:

Clase Conexión que contiene la lógica para consumir un archivo properties

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();
}
}
}

Observe que la ruta que se escribe en el fileinputstream hace referencia a partir de la raiz del proyecto, donde se encuentra el archivo pom.xml

Codigo Fuente

No hay comentarios.