Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Conexion con DB con Java

Estas en el tema de Conexion con DB con Java en el foro de Java en Foros del Web. Buenas Tardes Estoy haciendo el proyecto de fin de Curso, trata de una gestión administrativa para Autónomos (Facturas, Empresas, Precios,....) y me surgen dudas con ...
  #1 (permalink)  
Antiguo 13/05/2014, 01:05
 
Fecha de Ingreso: febrero-2013
Mensajes: 33
Antigüedad: 11 años, 2 meses
Puntos: 0
Conexion con DB con Java

Buenas Tardes

Estoy haciendo el proyecto de fin de Curso, trata de una gestión administrativa para Autónomos (Facturas, Empresas, Precios,....) y me surgen dudas con respecto a la DB. Estoy tratando de hacerla según MVC, tengo la parte gráfica en un package, la parte de las conexiones a la DB en otra y la DB fuera .

Bien, tengo un USER/PASS al principio de la aplicación, que comprueba que el usuario existe en la DB. Pasamos a un menú en el que seleccionamos lo que queremos hacer: Dar de alta datos, modificar datos, consultar datos,... Bien, he aquí mi problema, no sé si dejar conectado al usuario desde el mismo momento en que se "loguea", o hacer conexiones/desconexiones a la DB cada vez que sean necesarias.

De ser lo último, cómo me recomendáis que lo haga? Tengo una clase Conexión, con USER/PASS, pero ¿debería de ir pasando el USER/PASS a cada clase para hacer la conexion?

Gracias
  #2 (permalink)  
Antiguo 14/05/2014, 05:07
 
Fecha de Ingreso: febrero-2013
Mensajes: 33
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Conexion con DB con Java

Me respondo a mí mismo. Hay que poner la conexión en modelo. Yo lo he solucionado con esto

Código Java:
Ver original
  1. package com.modelo;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import javax.swing.JOptionPane;
  6.  
  7.  
  8.  
  9. import java.sql.*;
  10.  
  11. public class Conexion {
  12.  
  13.     private Connection conexion=null;
  14.     private String servidor="localhost";
  15.     private String database="mydb";
  16.     private String usuario;
  17.     private String password;
  18.     private String url="jdbc:mysql://" + servidor + "//" + database;
  19.    
  20.     public Conexion(){
  21.        
  22.        
  23.         try {
  24.  
  25.             Class.forName("com.mysql.jdbc.Driver");
  26.             conexion=DriverManager.getConnection(this.url, this.usuario, this.password);
  27.            
  28.             System.out.println("Conexion a Base de Datos "+url+" . . . . .Ok");
  29.  
  30.         }
  31.         catch (SQLException ex) {
  32.             System.out.println(ex);
  33.         }
  34.         catch (ClassNotFoundException ex) {
  35.             System.out.println(ex);
  36.         }
  37.     }
  38.  
  39.     public Connection getConexion(){
  40.         return conexion;
  41.     }
  42.  
  43.     public Connection cerrarConexion(){
  44.         try {
  45.             conexion.close();
  46.             JOptionPane.showMessageDialog(null, "Cerrando Conexion...", "Cerrando", JOptionPane.INFORMATION_MESSAGE );
  47.         } catch (SQLException ex) {
  48.             JOptionPane.showMessageDialog(null, "Error en Conexion" + ex, "ERROR", JOptionPane.ERROR_MESSAGE);
  49.         }
  50.         conexion=null;
  51.         return conexion;
  52.     }
  53.  
  54.     public String getUsuario() {
  55.         return usuario;
  56.     }
  57.  
  58.     public void setUsuario(String usuario) {
  59.         this.usuario = usuario;
  60.     }
  61.  
  62.     public String getPassword() {
  63.         return password;
  64.     }
  65.  
  66.     public void setPassword(String password) {
  67.         this.password = password;
  68.     }
  69. }

Etiquetas: clase, conexion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:27.