Autor Tema: Insertar desde java a base de datos MySQL diferencia DriverManager y DataSource  (Leído 7715 veces)

mzamora60

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 17
    • Ver Perfil
Buenos dias. Tengo la siquiente consulta, trato de insertar datos desde java hacia una base de datos hecha en MySQL. Ya he tratado de todo, establecí el driver (no se si lo hice bien), establecí una clase conectar, establecí un servidor local AppServ 2.5.10 para generar las bases de datos desde phpMyadmin y no he conseguido que al introducir los datos en mi aplicación Java estos se inserten en la tabla (personales) de la base de datos (registros) de MySQL. adjunto código.


Código: [Seleccionar]
package mysqlbd;
import java.sql.Connection;
import java.sql.DriverManager;

public class conectar {
 Connection conectar = null;
public Connection conexion(){ 
 try {
      Class.forName("com.mysql.jdbc.Driver");
      conectar = DriverManager.getConnection("jdbc:mysql://localhost/registros","root","root");   
} catch (Exception e){
      System.out.print(e.getMessage());
   }
     return conectar;
  }
}

tambien genere el driver adjuntando la libreria. y en un icono despliega MySQL JDBC Driver y tambien se genero el JAR con la ruta C:\Program Files\MySQL\MySQL Connector.C.6.1

Podrian orientarme de que me falta o que estoy haciendo incorrectamente. Otro detalle del que me he percatado es que al momento de declarar el prepareStatement no me arroja la opción de llamar a todos las sentencias de SQL, solo me permite utilizar prepareStatement(String String), cuando tambien deberia de obtener la opción de prepareStatemente(String sql)para jalar así todas las sentencias disponibles.

Espero me puedan ayudar.

Saludos,

« Última modificación: 02 de Agosto 2015, 22:14 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Insertar datos desde java hacia una base de datos generada en MySQL
« Respuesta #1 en: 02 de Agosto 2015, 22:13 »
Hola!

Para conexión a bases de datos MySql se suele recomendar usar DataSource en lugar de DriverManager que es más antiguo.

En primer lugar tendrías la configuración:

Código: [Seleccionar]
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("root"); //Aquí el usuario que corresponda
dataSource.setPassword("root"); //Aquí el password que corresponda
dataSource.setServerName("myDBHost.example.org"); //Aquí lo que corresponda por ejemplo jdbc:mysql://localhost:3306/registros

Luego puedes trabajar con normalidad, te recomiendo primero hacer una consulta con un select para comprobar que te conectas correctamente a la base de datos y que puedes recuperar datos de ella antes de intentar escribir con UPDATE o con INSERT

Código: [Seleccionar]
Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT ID FROM USUARIOS"); //Aquí una consulta de prueba
...
rs.close();
stmt.close();
conn.close();

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".