Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: mzamora60 en 02 de Agosto 2015, 20:41
-
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.
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,
-
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:
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
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!