Anda di halaman 1dari 16

Conectarse a una BD

desde Java - Web

1. Cree un nuevo proyecto Java Web


2. Descargue el respectivo driver para conectarse a una BD Derby. El
driver JDBC para Derby: derbyclient.jar
3. Agregue el driver a la carpeta de libreras, creada dentro de SRC.

A continuacin, inicialice el servicio de Derby:


En la pestaa de servicios

Inicie el servidor de Bases de Datos

Tan pronto se inicie el servidor, en la consola aparecer:

Ahora cree la Base de Datos


Nombre BD: PruebaBDWeb
Usuario: usuario
Contrasea: 123456

Ya se cre la
Base de
Datos

Ahora conecte el servicio: Recuerde que debe conectar


el servicio que tiene el nombre del usuario que acabo
de crear.

Creado el esquema, a continuacin cree la primera tabla


Tabla Empleado
Cdigo: Int
Nombre: Varchar
Edad: Int

A continuacin, inserte datos de prueba

Para verificar que los datos fueron ingresados, y que el motor funciona
adecuadamente, consulte todos los nombres de los empleados
insertados

Teniendo los datos insertados, a continuacin se deben crear las clases


que se conectaran y ejecutaran las transacciones. Para este pasa, se
debe retornar a la pestaa de Proyecto

Cree una clase Conexion

Inserte el siguiente cdigo al interior de la clase

public class Conexion {


private static Connection cn = null;
private static Driver driver = new
org.apache.derby.jdbc.ClientDriver();
private static String URLBD = "jdbc:derby://localhost:1527/Prueba";
private static String usuario = "usuario";
private static String contrasena = "123456";
public static Connection getConexion() throws SQLException {
DriverManager.registerDriver(driver);
cn = DriverManager.getConnection(URLBD, usuario, contrasena);
return cn;
}
}

A continuacin se debe crear la clase que opere la conexin, y


administre las operaciones DML:
import
import
import
import

java.sql.Connection;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;

public class OperacionesBD {


private Connection con = null;
private Statement st = null;
private ResultSet rs = null;
public OperacionesBD() {
try {
con =
Conexion.getConexion();
} catch (SQLException ex) {
System.out.println("No se
pudo realizar la conexion");
}
}

public void insertarDatos(String n, int e) {


int ultimo = 0;
String consulta = "SELECT COUNT(*) FROM
empleado";
try {
st = con.createStatement();
rs = st.executeQuery(consulta);
while (rs.next()) {
ultimo = rs.getInt(1);
}
st = con.createStatement();
String insercion = "INSERT INTO
Empleado VALUES("+
(ultimo+1)+",'"+n+"',"+e+")";
st.executeUpdate(insercion);
} catch (SQLException ex) {
System.out.print("No se pudo realizar la
insercion");
}
}

public String mostrarDatos() {


String rta = "CDIGO\tNOMBRES\tEDAD<br>";
String consulta = "SELECT * FROM empleado";
try {
st = con.createStatement();
rs = st.executeQuery(consulta);
while (rs.next()) {
int codigo, edad;
String nombres;
codigo = rs.getInt("codigo");
nombres = rs.getString("nombre");
edad = rs.getInt("edad");
rta += codigo + "\t" + nombres + "\t" + edad+"<br>";
}
} catch (SQLException ex) {
System.out.println("No se pudo realizar la consulta");
}
public void cerrarCnx() throws
return rta;
SQLException {
}

rs.close();
rs = null;
st.close();
st = null;
con.close();
con = null;

}
}

Modifique el index.jsp para adicionar los campos que se van a inser

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
<title>JSP Page</title>
</head>
<body>
<h1>Insercion de Datos a la BD</h1>
<form action="ServLetBD" method="post">
Digite el nombre <input type="text" name="nombre"><br>
Digite la edad <input type="text" name="edad"><br>
<input type="submit" name="Enviar">
<input type="reset" name="Cancelar">
</form>
</body>
</html>

Cree el servlet que se va a conectar a las operaciones y


gestionar la transaccin de los datos
private OperacionesBD opBD;
public ServletBD(){
opBD=new OperacionesBD();
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String nombre=request.getParameter("nombre");
int edad=Integer.parseInt(request.getParameter("edad"));
opBD.insertarDatos(nombre, edad);
String datos=opBD.mostrarDatos();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ServletBD</title>");
out.println("</head>");
out.println("<body bgcolor=pink>");
out.println("<h1>Datos en la BD </h1>");
out.println("<br>"+ datos);
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}

Ejercicio Extraclase
Modifique y cree los servlets necesarios para que desde un index
principal se pueda:
a.Insertar un registro en la Base de Datos
b.Consultar todos los registros insertados
c.Consultar un registro dado su numero de cdigo

Anda mungkin juga menyukai