Java - Mejor manera de conexión con base de datos MyQSL

   
Vista:

Mejor manera de conexión con base de datos MyQSL

Publicado por Juan (27 intervenciones) el 19/05/2016 20:42:19
Buenas tardes.

Estoy aprendiendo Java y he empezado a desarrollar una pequeña aplicación de almacén, solamente quiero que se pueda insertar un producto, buscar, ir al siguiente, ir al anterior, al último, al primero, etc, y me gustaría saber cual es la mejor manera de conexión con la base de datos y la tabla.

Yo he pensado al entrar por primera vez a la aplicación realizar la conexión con la base de datos y cuando me haga falta realizar los prepareStatement, o es mejor, por ejemplo:

Conectar con la base de datos
Buscar producto
Desconectar

Conectar con la base de datos
Ir al producto anterior
Desconectar

Necesito vuestra ayuda y como se hace la manera más segura y eficaz para hacer consultas, ir al anteior, etc

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Mejor manera de conexión con base de datos MyQSL

Publicado por Maverick (96 intervenciones) el 19/05/2016 23:44:24
Hola Juan,

En una aplicación web sugiero que se debe hacer una conexion a la base de datos por cada operación (Select, Insert, Update, Delete) que se haga y luego liberar la conexión a fin de no saturar la base de datos.

Para el caso de la paginación de consulta debes manejarlos con variables de sesion que te permita mantener en memoria el numero de registro que te haz quedado y te permita Ir a la pagina siguiente o anterior. Para este caso también debes seguir los siguientes pasos: a) Conectar conexión, b) Ejecutar Select, c) Desconectar conexion.

Espero haberte ayudado, cualquier cosa me puedes escribir a: oscardelphi@gmail.com

Saludos

Maverick
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mejor manera de conexión con base de datos MyQSL

Publicado por Juan (27 intervenciones) el 20/05/2016 06:13:59
Muchas gracias, pero se me olvidó decir que mi aplicación es de escritorio. Habría que hacer lo mismo?

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mejor manera de conexión con base de datos MyQSL

Tal ves este código te pueda servir para hacer tu conexión


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class Conexion {
   static String bd = "NombreBaseDeDatos";
   static String login = "root";
   static String password = "PasswordBaseDeDatos";
   static String url = "jdbc:mysql://localhost:3306/"+bd;
   static String DRIVER="com.mysql.jdbc.Driver";
   Connection connection = null;
   PreparedStatement pdst;
   ResultSet rs;
   ResultSetMetaData rsm;
 
   public Conexion(){
       try{
           Class.forName("com.mysql.jdbc.Driver");
           connection = (Connection) DriverManager.getConnection(url, login, password);
           if(connection != null){
               JOptionPane.showMessageDialog(null, "Conexcion a la " + bd +  " exitosa");
           }
       }
       catch(SQLException e){
           System.out.println(e);
       }
       catch(ClassNotFoundException e){
           System.out.println(e);
       }
       catch(Exception e){
           System.out.println(e);
       }
   }
 
   public Connection getConnection(){
       return connection;
   }
 
   public void desconectar(){
       connection = null;
   }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Mejor manera de conexión con base de datos MyQSL

Publicado por Juan (27 intervenciones) el 20/05/2016 06:12:08
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mejor manera de conexión con base de datos MyQSL

Publicado por lorena elideth (10 intervenciones) el 20/05/2016 07:01:27
Puede ser de utilidad este código para tu aplicación


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class Clase_Conexion {
 
    private Connection conexion=null;
    private String servidor="";
    private String database="";
    private String usuario="";
    private String password="";
    private String url="";
 
    public Clase_Conexion(String servidor, String database, String usuario, String password){
        try {
 
            this.servidor = servidor;
            this.database = database;
 
            Class.forName("com.mysql.jdbc.Driver");
            //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            url="jdbc:mysql://"+servidor+"/"+database;
            conexion=DriverManager.getConnection(url, usuario, password);
            System.out.println("Conexion a Base de Datos "+url+" . . . . .Ok");
 
        }
        catch (SQLException ex) {
            System.out.println(ex);
        }
        catch (ClassNotFoundException ex) {
            System.out.println(ex);
        }
    }
 
    public Connection getConexion(){
        return conexion;
    }
 
    public Connection cerrarConexion(){
        try {
            conexion.close();
             System.out.println("Cerrando conexion a "+url+" . . . . . Ok");
        } catch (SQLException ex) {
            System.out.println(ex);
        }
        conexion=null;
        return conexion;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mejor manera de conexión con base de datos MyQSL

Publicado por Juan (27 intervenciones) el 20/05/2016 16:42:03
Muchas gracias por vuestras respuestas.

Pero lo que más me interesa, es saber si la mejor manera de hacer la conexión, es al entrar y cada vez que te haga falta preguntar si estás conectado, y desconectar al cerrar mi aplicación, o conectar cada vez que se vaya a realizar una consulta y desconectar. O sea, conectar al entrar a la aplicación y desconectar al cerrar la aplicación, o conectar y desconectar cada vez que tengas que hacer algo.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mejor manera de conexión con base de datos MyQSL

Publicado por daniela (2 intervenciones) el 20/05/2016 20:25:39
ESPERO QUE ESTA CONEXIÓN TE PUEDA SERVIR!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class ConexionDaniela {
 
  private Connection con;
    private Statement sentSQL;
    private ResultSet rst;
 
    public ConexionDaniela()  {
        //cargar el controlador jdbc
        String controlador = "com.mysql.jdbc.Driver";
      try {
          Class.forName(controlador).newInstance();
      } catch (ClassNotFoundException ex) {
          Logger.getLogger(ConexionDaniela.class.getName()).log(Level.SEVERE, null, ex);
      } catch (InstantiationException ex) {
          Logger.getLogger(ConexionDaniela.class.getName()).log(Level.SEVERE, null, ex);
      } catch (IllegalAccessException ex) {
          Logger.getLogger(ConexionDaniela.class.getName()).log(Level.SEVERE, null, ex);
      }
      try {
          conectar();
      } catch (SQLException ex) {
          Logger.getLogger(ConexionDaniela.class.getName()).log(Level.SEVERE, null, ex);
      }
    }
 
    public void conectar() throws SQLException {
 
        String URL_bd = "jdbc:mysql://localhost/personadaniela";
        String usuario = "root";
        String contraseña = "daniela12";
        //conexion con la bd
        con = DriverManager.getConnection(URL_bd, usuario, contraseña);
        // se crea una Statement para asi poder usar sentencias sql
        sentSQL = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
 
    }
      public String ejecutar(String sql) throws SQLException {
                      //executeUpdate nos sirve para hacer UPDATE, INSERT y ese tipo de sentencias que modifican la base de datos
        // no se necesita devolver algo
        sentSQL.executeUpdate(sql);
 
        return "";
    }
  public ResultSet Consulta(String sql) throws SQLException {
 
         //executeQuery nos sirve solamente para hacer consultas de la base de datos, solo acepta sentencias como SELECT
        // se necesita forzosamente devolver algo, guardar en una variable el resultado de la consulta
        rst = sentSQL.executeQuery(sql);
 
        return rst;
    }
    AccesoBDdaniela cc = new AccesoBDdaniela();
   public Connection cn = cc.conexion();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mejor manera de conexión con base de datos MyQSL

Publicado por luisa nayeli (7 intervenciones) el 27/05/2016 03:02:52
Yo utilizo esta conexion espero que te sea util....

1
2
3
4
5
6
7
8
9
10
11
public class AccesoBD {
    Connection conectar=null;
    public Connection conexion(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conectar=DriverManager.getConnection("jdbc:mysql://172.16.18.3 o localhost /"base de datos","usuario","pasword");
        } catch (Exception e) {
            System.out.print(e.getMessage());
        }
        return conectar;
    }}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar