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

Conexión

Estas en el tema de Conexión en el foro de Java en Foros del Web. Hola, muy buenas. Me gustaría saber cómo puedo crear una base de datos osea conectar un proyecto en java con una base de datos de ...
  #1 (permalink)  
Antiguo 28/10/2013, 09:41
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Conexión

Hola, muy buenas.

Me gustaría saber cómo puedo crear una base de datos osea conectar un proyecto en java con una base de datos de un hosting o algo...

¿Cómo podría hacerlo?.
  #2 (permalink)  
Antiguo 28/10/2013, 10:33
JMitsu
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conexión

1) Conector MySql para Java.
2) Conocer las sentencias Query.
3) Programar.

Ejemplo de cómo se obtiene una conexión:

Código Java:
Ver original
  1. public class Conexion {
  2.  
  3.     public static String userRoot="root"; // usar de Mysql
  4.     public static String passRoot=""; // pass de Mysql
  5.    
  6.    
  7.    
  8.     /* *************************************************************************************************************************
  9.      *                                        OBTIENE UNA CONEXION CON LA BASE DE DATOS
  10.      **************************************************************************************************************************/
  11.    
  12.     public static Connection getConnection() {
  13.         Connection conexion = null; // crea un objeto de conexion
  14.              
  15.         try
  16.         {
  17.             // registra el driver, el servidor, la tabla y el user y contrasenia
  18.             Class.forName("com.mysql.jdbc.Driver");
  19.             String servidor = "jdbc:mysql://localhost/contactos";
  20.             String usuarioDB = userRoot;
  21.             String passwordDB = passRoot;
  22.             conexion= DriverManager.getConnection(servidor,usuarioDB,passwordDB); // conexion obtiene todos los datos
  23.         }
  24.         catch(ClassNotFoundException | SQLException ex)
  25.         {
  26.             Dialogs.showErrorDialog(LoginController.ventanaAgenda,ex.getMessage());
  27.             conexion=null;
  28.         }
  29.        
  30.         return conexion;
  31.     }


Aquí se obtiene la conexión para remover un registro:

Código Java:
Ver original
  1. /* ************************************************************************************************************************
  2.      *                                           REMOVER UN CONTACTO
  3.      *************************************************************************************************************************/
  4.    
  5.     public static void removerRegistro(String registroEliminar,String registroCondicion) {
  6.        
  7.         Connection conexion = null;
  8.         PreparedStatement prepararConsulta = null;
  9.        
  10.         try {
  11.             conexion = (Connection) Conexion.getConnection(); // abrimos la conexion
  12.             if(conexion != null) {
  13.             String sentencia = "delete from nombreTabla where "+registroEliminar+"='"+registroCondicion+"'";
  14.             prepararConsulta = conexion.prepareStatement(sentencia); // prepara la declaracion con la sentencia previa
  15.             prepararConsulta.executeUpdate();
  16.             }
  17.            
  18.         } catch(SQLException e){
  19.            
  20.             Dialogs.showErrorDialog(LoginController.ventanaAgenda,e.getMessage());
  21.            
  22.         } catch(NullPointerException npe) {
  23.            
  24.             Dialogs.showErrorDialog(LoginController.ventanaAgenda,npe.getMessage());
  25.         }
  26.         finally {
  27.             try {
  28.                 if(prepararConsulta != null && conexion != null) {
  29.                 prepararConsulta.close(); // cierra la conexion de la consulta
  30.                 conexion.close(); } // cierra la conexion
  31.             } catch (SQLException e) {
  32.                 e.printStackTrace();
  33.             }
  34.         } // fin finally
  35.        
  36.     }

Última edición por JMitsu; 28/10/2013 a las 10:40
  #3 (permalink)  
Antiguo 28/10/2013, 10:51
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 10 años, 7 meses
Puntos: 9
Respuesta: Conexión

Más o menos esto sirve para conectarme con mi localhost ¿no?.

¿Cada código en un archivo?.

Me podrías indicar el nombre de cada archivo por favor.

Y dónde verifica el nombre de la tabla... a la que quiero usar?

¿Y cómo podría realizar un registro en la base de datos?.

Desde un jlabel y un boton.

Saludos.
  #4 (permalink)  
Antiguo 29/10/2013, 03:22
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 9 meses
Puntos: 361
Respuesta: Conexión

¿Hay que darte de come también? ¿y limpiarte el culito?

Saludos.

  #5 (permalink)  
Antiguo 29/10/2013, 11:44
JMitsu
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conexión

1) Si.
2) A tu gusto. Puedes crear una Clase 'Conexion' que obtenga la conexión, y otra para realizar los CRUD, o puedes poner todo en una sola clase.
3) Puedes ver que la clase que he puesto se llama 'Conexion'. En Java toda la clase debe llamarse igual que el fichero fuente.
4) Tu base de datos:

Después de localhost sigue tu base de datos:

Código Java:
Ver original
  1. String servidor = "jdbc:mysql://localhost/basededatos";

Tu tabla la indicas en los métodos que van a hacer los CRUD.

Después de 'delete from' sigue el nombre de tu tabla. registroEliminar es el nombre de la columna del registro en la base de datos, y registroCondicion es el valor que tiene la celda de la base de datos actualmente.

Esto se traduce a: Borra de "tu tabla" la fila que contenga en el "nombredecolumna" el valor de "valoractualdelacelda"

Código Java:
Ver original
  1. String sentencia = "delete from nombreTabla where "+registroEliminar+"='"+registroCondicion+"'";

5) Tienes que leer sobre el lenguaje Query (SQL). Luego puedes leer algun turorial Java - MySql.

Dentro del botón que insertará los registros, puedes llamar a un método que inserte los registros, por ejemplo:

Metodo que inserta registros:

Código Java:
Ver original
  1. try {
  2.                 conexion = (Connection) Conexion.getConnection(); // abrimos la conexion
  3.                 if (conexion!= null) {
  4.                 // crea una sentencia previa para mandarla a una declaracion preparada (PreparedStatement)
  5.                 String sentencia = "insert into empleado values(?,?,?,?,?,?)";
  6.                 PreparedStatement prepararConsulta = conexion.prepareStatement(sentencia); // prepara la declaracion con la sentencia previa
  7.                 prepararConsulta.setInt(1, 0); // pasa los valores que se van a insertar en la tabla
  8.                 prepararConsulta.setString(2,usuario.getPrimerApellido());
  9.                 prepararConsulta.setString(3,usuario.getSegundoApellido());
  10.                 prepararConsulta.setString(4,usuario.getNombre());
  11.                 prepararConsulta.setString(5,usuario.getTipoUsuario());
  12.                 prepararConsulta.setDate(6,fecha2);
  13.                
  14.                 prepararConsulta.executeUpdate(); // ejecuta la declaracion
  15.                 JOptionPane.showMessageDialog(null,"Datos ingresados satisfactoriamente.");
  16.             } // fin if
  17.         } // fin try
  18.  
  19.         catch(SQLException e) {
  20.             JOptionPane.showMessageDialog(null,e.getMessage().toString());
  21.         }
  22.         catch(NullPointerException np){
  23.                 JOptionPane.showMessageDialog(null,"No se ha podido establecer la conexion.");
  24.         }
  25.             finally{
  26.                 if (prepararConsulta != null) {
  27.                       prepararConsulta.close();
  28.                 }
  29.                 if (conexion != null) {
  30.                       conexion.close();
  31.             } // fin  finaly

Este método recibe un objeto Usuario. En el botón que inserta los registros, se crea un Objeto Usuario y por medio de sus Setters le asigna a sus propiedades los valores que han sido ingresados en los TextFields.

Como el objeto contacto ya tiene todas sus propiedades con valores, se la pasamos al método estático que hace inserta los registros.

Fíjate que mi sentencia ahora es:

Código Java:
Ver original
  1. String sentencia = "insert into empleado values(?,?,?,?,?,?)";

Esto es mucho más útil, pues estoy indicando que se insertarán 6 valores (aun sin especificar). Luego por medio de los métodos setString o setInt, o setDate, etc, agregamos un registro en el índice especificado.


Quizás esto te suene a chino. Primero lee bastante, y una vez que captes bien, practica.



Saludos.

Etiquetas: Ninguno
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 12:27.