import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* @author ELDI
*/
public class ConexionBD {
/**
* Variable que define el tipo de base de datos a conectar, puede tomar
* los valores: MySQL, SQLServer, Oracle, Access
*/
public static String tipoBD;
public static Connection conexion;
public static Statement estatuto;
/**
* Nombre de la base de datos
*/
public static String miBaseDatos;
/**
* Nombre del usuario de la base de datos
*/
public static String nombreUsuario;
/**
* Contrasena de la base de datos
*/
public static String contrasena;
/**
* Metodo encargado de efectuar la conexion
*/
public static void conectar() {
String nombreDriver = null;
String url = null;
String numeroPuerto = null;
String nombreServidor = null;
if (tipoBD.equals("MySQL")) {
nombreDriver = "com.mysql.jdbc.Driver";
nombreServidor = "localhost";
numeroPuerto = "3306";
url = "jdbc:mysql://" + nombreServidor + ":" + numeroPuerto + "/" + miBaseDatos;
} else if (tipoBD.equals("SQLServer")) {
nombreDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
nombreServidor = "localhost";
numeroPuerto = "1433";
url = "jdbc:sqlserver://" + nombreServidor + ":" + numeroPuerto + "/" + miBaseDatos;
} else if (tipoBD.equals("Oracle")) {
nombreDriver = "oracle.jdbc.driver.OracleDriver";
nombreServidor = "localhost";
numeroPuerto = "1521";
url = "jdbc:oracle:thin:@" + nombreServidor + ":" + numeroPuerto + ":" + miBaseDatos;
} else if (tipoBD.equals("Access")) {
nombreDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
nombreServidor = "Driver={Microsoft Access Driver (*.mdb)};DBQ=";
numeroPuerto = ";DriverID=22;READONLY=true}";
url = "jdbc:odbc:" + nombreServidor + miBaseDatos + numeroPuerto;
}
try {
Class.forName(nombreDriver).newInstance();
conexion = DriverManager.getConnection(url, nombreUsuario, contrasena);
estatuto = conexion.createStatement();
} catch (IllegalAccessException e) {
System.err.println(e.getMessage());
} catch (InstantiationException e) {
System.err.println(e.getMessage());
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
/**
* Metodo encargado de cerrar la conexion
*/
public static void desconectar() {
try {
estatuto.close();
conexion.close();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
/**
* Metodo para ejecutar consultas de tipo INSERT, UPDATE, DELETE
* @param querySQL String consulta en SQL
*/
public static void executeUpdateQuery(String querySQL) {
try {
conectar();
estatuto.executeUpdate(querySQL);
desconectar();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
/**
* Metodo para ejecutar consultas de tipo SELECT
* @param querySQL String consulta en SQL
* @return ResultSet con los valores encontrados
*/
public static ResultSet executeQuery(String querySQL) {
try {
conectar();
return estatuto.executeQuery(querySQL);
} catch (SQLException e) {
System.err.println(e.getMessage());
}
return null;
}
}Ejemplo de Main:
public static void main(String[] args) {
ConexionBD.tipoBD = "Access";
ConexionBD.miBaseDatos = "curso1.mdb";
ConexionBD.nombreUsuario = "jdbc";
ConexionBD.contrasena = "jdbc";
try {
ResultSet resultSet = ConexionBD.executeQuery("select * FROM lista");
while (resultSet.next()) {
String matricula = resultSet.getString("MATRICULA");
String nombre = resultSet.getString("NOMBRE");
int ex1 = resultSet.getInt("EX1");
int ex2 = resultSet.getInt("EX2");
int ex3 = resultSet.getInt("EX3");
System.out.println(matricula + " " + nombre + " " + ex1 + " " + ex2 + " " + ex3);
}
ConexionBD.desconectar();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}
No hay comentarios:
Publicar un comentario