Tema: Instructivo para insertar registros en tabla de base de datos
Autor:Mauricio Lara
Email:mlara@[Link]
INSERTAR DATOS EN BASE DE DATOS
Crear Objeto de Crear Objeto Pasar parámetros de Ejecutar Consulta SQL
conexión PreparedStatement Consulta SQL
1 2 3 4
1.-Conexión a base de datos:
Usar clase DriverManager.
Usar método getConnection(String url, String user, String password), de la clase
DriverManager.
El parámetro url del método getConecction() es el siguiente:
Jbdc:mysql://localhost:3306/nombrebasededatos
jdbc=Corresponde al conector java(driver) para la base de datos. Este conector es propio
del fabricante del motor de base de datos. Debe bajar el conector jdbc correspondiente al
motor de base de datos. En este caso usé mysql, por lo tanto bajé jdbc para mysql.
El driver es el puente entre la aplicación y el motor de base de datos.
Base de datos (mysql, SQL
Mi Aplicación Jdbc (Conector) server, Oracle, etc. ). La BD
de mi elección
mysql=Es el protocolo del driver, el nombre varía según base de datos.
localhost:3306=Corresponde al computador donde está instalado el motor de base de
datos. 3306 es el puerto de mysql. Si usa otro motor de base de datos el número cambia
según el motor.
nombrebasededatos=Corresponde al nombre de la base de datos que definió, cuando se
creó.
El usuario por defecto en mysql es root y la password (es la clave de la base de datos, no
confundir con otra clave) es vacía. Se pueden definir otros usuarios y claves para acceder a
la base de datos.
Por lo tanto, la sentencia a escribir en Netbeans es:
Se crea un objeto conexion.
C Connection conexion=[Link](“jdbc:mysql://localhost:3306/nombrebasededatos”,”root”,””);
2.-Preparar consulta SQL
Lo más óptimo es usar una consulta preparada, la cual usa parámetros.
El primer paso es definir una variable tipo String con la consulta SQL:
String consulta=”insert into productos(nombre, precio, origen) values(?,?,?)”;
Segundo. Se usa el método prepareStatement(String sql) para crear un objeto
preparedStatement, utilizando la conexión creada anteriormente.
Las instrucciones quedan de la siguiente manera:
PreparedStatement declaracion_p=[Link](consulta);
3.- Establecer los parámetros de la consulta SQL
Se deben establecer los parámetros que reemplazan las ?. En este caso hay 3 parámetros.
Como la tabla del ejemplo usan nombre y origen, que están definidas como String, se
debe utilizar el método setString(int parameterIndex, String x).
Además, precio está definido como entero (int), por ende se debe usar el método
setInt(int parameterIndex, int x).
Para establecer los parámetros se debe usar el objeto PreparedStatement creado
anteriormente.
Las sentencias quedarían de la siguiente manera:
declaracion_p.setString(1,”Producto1”);
declaracion_p.setInt(2,50);
declaracion_p.setString(3,”China”);
1, 2, 3 de los métodos anteriores corresponden a cada ?.
La consulta es como si fuera:
insert into productos(nombre, precio, origen) values (“Producto1”,50,”China”)
4.- Ejecutar la consulta SQL
Se debe usar el método executeUpdate(). Este método se usa para insertar, actualizar y
borrar.
Se utiliza el objeto PreparedStament anteriormente creado.
declaracion_p.executeUpdate();
Todo el código de los pasos 1, 2, 3, 4 deben ir en un try catch debido a las excepciones
que puedan ocurrir al no conectarse la aplicación a la base de datos.
Try {
//1.-Crear conexión
Connection conexion=[Link](“jdbc:mysql://localhost:3306/nombrebasededatos”,”root”,””);
//2.-Crear objeto PreparedStament
PreparedStatement declaracion_p=[Link](consulta);
//3.-Establecer parámetros
declaracion_p.setString(1,”Producto1”);
declaracion_p.setInt(2,50);
declaracion_p.setString(3,”China”);
//4.-Ejecutar consulta SQL
declaracion_p.executeUpdate();
catch (Exception exc) {
[Link]("No conecta la base de datos. Qué pasó???");
[Link]();