Paso a Paso - Conectarse a Una BD Desde Java Conve

17

description

Tutorial para conectarse a na base de datos netbeans

Transcript of Paso a Paso - Conectarse a Una BD Desde Java Conve

  • ConectarseaunaBDdesdeJavaWeb

    1.CreeunnuevoproyectoJavaWeb,asignndoleunnombredeproyecto,unservidoryunaplataformadetrabajojava

    2.DescargueelrespectivodriverparaconectarseaunaBDDerby.EldriverJDBCparaDerby:

    derbyclient.jar

    3.Agregueeldriveralacarpetadelibreras,creadadentrodeSRC.

    4.Adicionelalibreraalpathdelproyecto

    http://www.java2s.com/Code/Jar/d/Downloadderbyclientjar.htm

  • Acontinuacin,inicialiceelserviciodeDerby:

    Enlapestaadeservicios

    InicieelservidordeBasesdeDatos

    Tanprontoseinicieelservidor,enlaconsolaaparecer:

    AhoracreelaBasedeDatos:

    NombreBD:PruebaBDWeb

    Usuario:usuario

    Contrasea:123456

  • ParaverificarquesecrelaBasedeDatos,revise:

    Ahoraconecteelservicio:Recuerdequedebeconectarelservicioquetieneelnombredelusuarioqueacabodecrear.

  • Creadoelesquema,acontinuacincreelaprimeratabla

    TablaEmpleado

    Cdigo:Int

    Nombre:Varchar

    Edad:Int

  • Acontinuacin,insertedatosdeprueba

    Paraverificarquelosdatosfueroningresados,yqueelmotorfuncionaadecuadamente,consultetodoslosnombresdelosempleadosinsertados

    Teniendolosdatosinsertados,acontinuacinsedebencrearlasclasesqueseconectaranyejecutaranlastransacciones.Paraestepaso,sedeberetornaralapestaadeProyecto

    1.CreeunaclaseConexion

    importjava.sql.Connection;

    importjava.sql.Driver;

  • importjava.sql.DriverManager;

    importjava.sql.SQLException;

    publicclassConexion{

    privatestaticConnectioncn=null;

    privatestaticDriverdriver=neworg.apache.derby.jdbc.ClientDriver();

    privatestaticStringURLBD="jdbc:derby://localhost:1527/PruebaBDWeb";privatestaticStringusuario="usuario";

    privatestaticStringcontrasena="123456";

    publicstaticConnectiongetConexion()throwsSQLException{

    DriverManager.registerDriver(driver);

    cn=DriverManager.getConnection(URLBD,usuario,contrasena);

    returncn;

    }

    }

    Acontinuacinsedebecrearlaclasequeoperelaconexin,yadministrelasoperacionesDML:importjava.sql.Connection;

    importjava.sql.ResultSet;

    importjava.sql.SQLException;

    importjava.sql.Statement;

    publicclassOperacionesBD{

    privateConnectioncon=null;

    privateStatementst=null;

    privateResultSetrs=null;

    publicOperacionesBD(){

    try{

    con=Conexion.getConexion();

  • }catch(SQLExceptionex){

    System.out.println("Nosepudorealizarlaconexion");

    }

    }

    publicvoidinsertarDatos(Stringn,inte){

    intultimo=0;

    Stringconsulta="SELECTCOUNT(*)FROMempleado";

    try{

    st=con.createStatement();

    rs=st.executeQuery(consulta);

    while(rs.next()){

    ultimo=rs.getInt(1);

    }

    System.out.println("ultimo"+ultimo+"nombres"+n+"edad"+e);st=con.createStatement();

    Stringinsercion="INSERTINTOEmpleadoVALUES("+(ultimo+1)+",'"+n+"',"+e+")";st.executeUpdate(insercion);

    }catch(SQLExceptionex){

    System.out.print("Nosepudorealizarlainsercion");

    }

    }

    publicStringmostrarDatos(){

    Stringrta="CDIGO\tNOMBRES\tEDAD";

    Stringconsulta="SELECT*FROMempleado";

    try{

    st=con.createStatement();

    rs=st.executeQuery(consulta);

  • while(rs.next()){

    intcodigo,edad;

    Stringnombres;

    codigo=rs.getInt("codigo");

    nombres=rs.getString("nombre");

    edad=rs.getInt("edad");

    rta+=codigo+"\t"+nombres+"\t"+edad+"";

    }

    }catch(SQLExceptionex){

    System.out.println("Nosepudorealizarlaconsulta");

    }

    returnrta;

    }

    publicvoidcerrarCnx()throwsSQLException{

    //Cerramosloselementosusados

    rs.close();

    rs=null;

    st.close();

    st=null;

    con.close();

    con=null;

    }

    }

    Modifiqueelindex.jspparaadicionarloscamposquesevanainsertarenlaBD

  • JSPPage

    InserciondeDatosalaBD

    DigiteelnombreDigitelaedad

    Creeelservletquesevaaconectaralasoperacionesygestionarlatransaccindelosdatosimportjava.io.IOException;

    importjava.io.PrintWriter;

    importjavax.servlet.ServletException;

    importjavax.servlet.annotation.WebServlet;

    importjavax.servlet.http.HttpServlet;

    importjavax.servlet.http.HttpServletRequest;

    importjavax.servlet.http.HttpServletResponse;

    @WebServlet(urlPatterns={"/ServletBD"})

    publicclassServletBDextendsHttpServlet{

  • privateOperacionesBDopBD;

    publicServletBD(){

    opBD=newOperacionesBD();

    }

    protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

    response.setContentType("text/html;charset=UTF-8");

    PrintWriterout=response.getWriter();

    try{

    Stringnombre=request.getParameter("nombre");

    intedad=Integer.parseInt(request.getParameter("edad"));

    opBD.insertarDatos(nombre,edad);

    Stringdatos=opBD.mostrarDatos();

    /*TODOoutputyourpagehere.Youmayusefollowingsamplecode.*/

    out.println("");

    out.println("");

    out.println("");

    out.println("ServletServletBD");

    out.println("");

    out.println("");

    out.println("DatosenlaBD");

    out.println(""+datos);

    out.println("volveralinicio");

    out.println("");

    out.println("");

    }finally{

  • out.close();

    }

    }

    @Override

    protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

    throwsServletException,IOException{

    processRequest(request,response);

  • }

    @Override

    protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

    processRequest(request,response);

    }

    }

    Alterminarlaconfiguracin,insertevariosregistrosenlabasededatos:

    Ejecuteelaplicativo,realiceinsercionesyverifiquequelabasededatoscargalosnuevosdatos: