Categorías
database

Prototipo de la clase de base de datos Java

¿Podemos hacer una clase de conexión a la base de datos que nos permita simplemente cambiar el archivo de configuración y luego usar la base de datos? Hice el prototipo de esta clase que es muy simple. Pero la idea es buena, siempre use un archivo jar muy simple para obtener la base de datos de configuración que luego puede realizar operaciones de consulta SQL.

package com.programcreek.db;
import java.sql.*;
 
public class DB {
 
	private Connection conn = null;
 
	public DB(String url, String user_name, String password) {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(url, user_name, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
 
	public ResultSet runSql(String sql) throws SQLException {
		Statement sta = conn.createStatement();
		return sta.executeQuery(sql);
	}
 
	@Override
	protected void finalize() throws Throwable {
		if (conn != null && !conn.isClosed()) {
			conn.close();
		}
	}
 
}

Aquí está el código para llamar a la clase DB:

package com.programcreek.test;
 
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
 
import com.programcreek.db.DB;
 
public class Main {
 
	public static void main(String []args){
 
		// to read url, username, password from configuration file
		Properties configFile = new Properties();
		String url = "";
		String user_name = "";
		String password = "";
		String database = "";
		try {
			configFile.load(Main.class.getClassLoader().getResourceAsStream("config.properties"));
			url = configFile.getProperty("url");
			database = configFile.getProperty("database");
			user_name = configFile.getProperty("user_name");
			password = configFile.getProperty("password");
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
 
		//instantiate a DB object
		DB db = new DB(url + database, user_name, password);
		try {
			ResultSet rs = db.runSql("select * from user");
			while(rs.next()){
				System.out.println(rs.getString("user_name"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
  Java Insertar carácter especial y en la base de datos MySQL

Este es el prototipo de esta idea, una clase de conexión de base de datos completa debería poder:

1) conecte diferentes bases de datos como SQLServer, Accsss, etc.

2) tiene función como runDB (), que puede realizar operaciones ADD, UPDATE, DELETE usando una matriz. Tome update, por ejemplo, runDB (UPDATE, data), en el que los datos son una matriz de mapeo.

3) tiene función de registro usando lo que mostré en mi publicación anterior.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *