Você está na página 1de 17

Universidad Nacional de Ucayali FACULTAD DE INGENIERA DE SISTEMAS Y DE INGENIERA CIVIL ESCUELA DE INGENIERIA DE SISTEMAS

CONEXION A BASE DE DATOS CLASES SERVLETS JSP

Ing. Mary Gelem Castro Fasabi

CONEXION DE BASE DE DATOS


Java Database Connectivity, es una interfaz que permite a un programa java ejecutar instrucciones SQL dentro de bases de datos relacionales, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice. JDBC ofrece el paquete java.sql, en el que existen clases muy tiles para trabajar con bases de datos.
Clase DriverManager Connection Statement ResultSet Para cargar un driver Para establecer conexiones con las bases de datos Para ejecutar sentencias SQL y enviarlas a las BBDD Para almacenar el resultado de la consulta Descripcin

CONEXION DE BASE DE DATOS


package BDManager; import java.*; import javax.*; public class BDManager { private String url; private String driver; private String error; private String usuario; private String contrasena; public BDManager() { this.url="jdbc:sqlserver://localhost:1433;DatabaseName=BD"; this.driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; /* this.url="jdbc:odbc:BD"; this.driver="sun.jdbc.odbc.JdbcOdbcDriver"; */ this.error=""; this.usuario="sa"; this.contrasena="35712"; }

CONEXION DE BASE DE DATOS odbcad32


public Connection getConectar() throws NamingException { try { Class.forName(driver).newInstance(); return DriverManager.getConnection(url,usuario,contrasena); } catch (Exception e) { error=e.getMessage(); System.out.println("error al conectar "+error); } return null; } public void setConectar(Connection con){ try { con.close(); } catch (Exception e) { error=e.getMessage(); System.out.println("error al desconectar "+error); } } public String getUrl() {return url;} public void setUrl(String url) {this.url = url;} public String getDriver() {return driver;} public void setDriver(String driver) {this.driver = driver;} public String getError() {return error;} public void setError(String error) {this.error = error;} public String getUsuario() { return usuario; } public void setUsuario(String usuario) { this.usuario = usuario; } public String getContrasena() { return contrasena; } public void setContrasena(String contrasena) { this.contrasena = contrasena; }

Para que el cdigo que acabamos de agregar funcione debemos aadir el jdbc a nuestro proyecto java.

Para que est listo debemos configurar sql server para que admita conexiones remotas, para ello ejecutamos el administrador de configuraciones de sql server, habilitamos TPC/IP y en las propiedades cambiamos el puerto a 1433, deshabilitamos los puertos dinmicos.

CLASE MAIN
package BDManager; import java.sql.Connection; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) throws NamingException, SQLException { BDManager dbm = new BDManager(); Connection con = null; con = dbm.getConectar();

if(con!=null) { JOptionPane.showMessageDialog(null, "Conexin Realizada Correctamente"); } }

package Clases; import java.util.Date; public class cPersona { private String idPersona; private String dni; private String nombres; private String apellidoPat; private String apellidoMat; public cPersona() { }

CLASES

public cPersona(String idPersona, String dni, String nombres, String apellidoPat, String apellidoMat) { this.setapellidoMat(apellidoMat); this.setapellidoPat(apellidoPat); this.setDni(dni); this.setIdPersona(idPersona); this.setNombres(nombres);; } public String getIdPersona() { return idPersona; } public void setIdPersona(String idPersona) { this.idPersona = idPersona; } public String getDni() { return dni; } public void setDni(String dni) { this.dni = dni; } public String getNombres() { return nombres; } public void setNombres(String nombres) { this.nombres = nombres; } public String getapellidoPat() { return apellidoPat; } public void setapellidoPat(String apellidoPat) { this.apellidoPat = apellidoPat; } public String getapellidoMat() { return apellidoMat; } public void setapellidoMat(String apellidoMat) { this.apellidoMat = apellidoMat; } }

CLASES Y METODOS
package JDBC; import BDManager.BDManager; import Clases.cPersona; import java.*; import javax.naming.NamingException; public class jPersona { private boolean resp2 = false; private BDManager dbm = new BDManager(); private Connection con = null; private CallableStatement cs = null; private boolean resp = false; private ResultSet rs = null; private cPersona ob; private Vector<cPersona> lista = new Vector();

METODO: GENERAR CODIGO


public String GenerarCodigo() { String vcorre = ""; int vco = -1; String sql, vCeros = ""; try { System.out.println("Conectando"); con = dbm.getConectar(); sql = "SELECT idPersona FROM T_PERSONA ORDER BY idPersona"; PreparedStatement st = con.prepareStatement(sql, 1005, 1007);//desplazarte rs = st.executeQuery(); rs.afterLast(); if (rs.previous()) { vcorre = rs.getString("idPersona"); System.out.println(vcorre); vco = Integer.parseInt(vcorre); vco++; } for (int i = 0; i < 10 - String.valueOf(vco).length(); i++) { vCeros = vCeros + "0"; } rs.close(); st.close(); con.close(); } catch (Exception e) { e.getMessage(); System.out.println(e.getMessage()); } return (vCeros + vco); }

METODO: CREAR
public boolean Crear(cPersona obj) throws NamingException { try { ob = obj; con = dbm.getConectar(); cs = con.prepareCall("{call PA_PERSONA_N(?,?,?,?,?)}"); cs.setString(1, ob.getIdPersona()); cs.setString(2, ob.getDni()); cs.setString(3, ob.getNombres()); cs.setString(4, ob.getapellidoPat()); cs.setString(5, ob.getapellidoMat()); resp = !cs.execute();//devuelve true si fallo } catch (SQLException sqle) { sqle.printStackTrace(); } finally { } return resp; }

METODO: ACTUALIZAR
public boolean Actualizar(cPersona obj) throws NamingException { try { ob = obj; con = dbm.getConectar(); cs = con.prepareCall("{call PA_PERSONA_M(?,?,?,?,?)}"); cs.setString(1, ob.getIdPersona()); cs.setString(2, ob.getDni()); cs.setString(3, ob.getNombres()); cs.setString(4, ob.getapellidoPat()); cs.setString(5, ob.getapellidoMat()); resp = !cs.execute();//devuelve true si fallo } catch (SQLException sqle) { sqle.printStackTrace(); } finally { } return resp; }

METODO: BORRAR
public boolean BorrarxId(String id) throws NamingException { try { con = dbm.getConectar(); cs = con.prepareCall("{call PA_PERSONA_E(?)}"); cs.setString(1, id); resp = !cs.execute();//devuelve true si fallo } catch (SQLException sqle) { sqle.printStackTrace(); } finally { } return resp; }

METODO: BUSCAR
public cPersona BuscarxId(String id) { cPersona obj1 = null; try { con = dbm.getConectar(); cs = con.prepareCall("{CALL PA_PERSONA_TxId(?)}"); cs.setString(1, id); rs = cs.executeQuery(); if (rs.next()) { obj1 = new cPersona(rs.getString("idPersona"), rs.getString("dni"), rs.getString("nombres"), rs.getString("apellidoPat"), rs.getString("apellidoMat")); } } catch (SQLException sqle) { sqle.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { } return obj1; }

METODO: BUSCAR
public Vector<cPersona> BuscarxNombre(String nombre) { cPersona obj1 = null; String sql="select P.* FROM T_PERSONA P where RTRIM(P.nombres) like '%"+nombre+"%' "; System.out.println("sql:" + sql); try {BDManager bdm = new BDManager(); Connection con = bdm.getConectar(); if (con == null) { throw new NullPointerException(bdm.getError()); } java.sql.Statement stm = con.createStatement(); ResultSet rs = stm.executeQuery(sql); while (rs.next()) {obj1 = new cPersona(rs.getString("idPersona"), rs.getString("dni"), rs.getString("nombres"), rs.getString("apellidoPat"), rs.getString("apellidoMat")); lista.addElement(obj1); } } catch (SQLException sqle) { sqle.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { } return (lista.size() > 0) ? lista : null; }

METODO: BUSCAR
public Vector<cPersona> Todos() { cPersona obj1 = null; try { con = dbm.getConectar(); cs = con.prepareCall("{CALL PA_PERSONA_TT}"); rs = cs.executeQuery(); while (rs.next()) { obj1 = new cPersona(rs.getString("idPersona"), rs.getString("dni"), rs.getString("nombres"), rs.getString("apellidoPat"), rs.getString("apellidoMat")); lista.addElement(obj1); } } catch (SQLException sqle) { sqle.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { } return (lista.size() > 0) ? lista : null; }

SERVLET
Los Servlets son mdulos escritos en Java que se utilizan en un servidor, que puede ser o no ser servidor web, para extender sus capacidades de respuesta a los clientes al utilizar las potencialidades de Java.
Por ejemplo, un servlet podra ser responsable de procesar los datos desde un formulario en HTML como registrar la transaccin, actualizar una base de datos, contactar algn sistema remoto y retornar un documento dinmico o redirigir a otro servlet u alguna otra cosa.

SERVLET
public class sEjemplo extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out; String title = "Ejemplo bsico de servlet"; response.setContentType("text/html"); out = response.getWriter(); out.println("<HTML><HEAD><TITLE>"); out.println(title); out.println("</TITLE></HEAD><BODY>"); out.println("<H1>" + title + "</H1>"); out.println("<BR> Escuela de Ingeniera de Sistemas"); out.println("</BODY></HTML>"); out.close(); } }

Você também pode gostar