Está en la página 1de 4

Tema: Instructivo para insertar registros en tabla de base de datos

Autor:Mauricio Lara

Email:mlara@exalumnos.utlaca.cl

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=DriverManager.getConnection(“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=conexion.prepareStatement(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=DriverManager.getConnection(“jdbc:mysql://localhost:3306/nombrebasededatos”,”root”,””);

//2.-Crear objeto PreparedStament

PreparedStatement declaracion_p=conexion.prepareStatement(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) {

System.out.println("No conecta la base de datos. Qué pasó???");

exc.printStackTrace();