Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/03/2015, 20:16
jelastic
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Duda con transacciones.

Bueno, yo ya no trabajo de esa forma, ahora con los frameworks de persistencia me facilito un poco la vida.
Pero es casi igual a como lo trabajaba, yo solo creaba una conexion que es asi:
Código Java:
Ver original
  1. public class ConexionBD {
  2.    
  3.     private final String servidor = "localhost";
  4.     private final String bd = "bd";
  5.     private final String usuario = "root";
  6.     private final String password = "jelastic";
  7.  
  8.     public Connection getConexion() {
  9.         Connection cn = null;
  10.         try {
  11.             //MySQL
  12.             Class.forName("com.mysql.jdbc.Driver");
  13.             cn = DriverManager.getConnection("jdbc:mysql://"+servidor+"/"+bd+"", ""+usuario+"", ""+password+"");
  14.  
  15.         } catch (ClassNotFoundException e) {
  16.             cn = null;
  17.         } catch (SQLException e) {
  18.             cn = null;
  19.         }
  20.         return cn;
  21.     }
  22.  
  23. }

Y para insertar, actualizar, eliminar, buscar y mostrar una lista de objetos asi:
Código Java:
Ver original
  1. public class Operacion {
  2.    
  3.     public static String exeOperacion(String sql)//Metodo insertar, actualizar y eliminar
  4.     {
  5.         String msg=null;
  6.         try{
  7.             Connection cn=new ConexionBD().getConexion();
  8.             if(cn==null){
  9.                 msg="No hay Conexion con la Base de Datos";
  10.             }else{
  11.                 Statement st=cn.createStatement();
  12.                 st.executeUpdate(sql);
  13.                 cn.close();
  14.             }          
  15.         }catch(SQLException e){
  16.             msg=e.getMessage();
  17.             System.out.println(e.getMessage());
  18.         }
  19.         return msg;
  20.     }
  21.    
  22.     public static List getTabla(String sql){//Metodo para mostrar la tabla completa
  23.         List lista=new ArrayList();
  24.         try{
  25.             Connection cn=new ConexionBD().getConexion();
  26.             if(cn==null){//Comprobamos la conexion
  27.                 lista=null;
  28.             }else{//Hay conexion
  29.                 Statement st=cn.createStatement();
  30.                 ResultSet rs=st.executeQuery(sql);
  31.                 ResultSetMetaData rm=rs.getMetaData();
  32.                 int numCol=rm.getColumnCount();
  33.                 String[] titCol=new String[numCol];
  34.                 for(int i=0;i<numCol;i++)
  35.                    titCol[i]=rm.getColumnName(i+1);
  36.                 lista.add(titCol);
  37.                 while(rs.next()){
  38.                     Object[]fila=new Object[numCol];
  39.                     for(int i=0;i<numCol;i++)
  40.                         fila[i]=rs.getObject(i+1);
  41.                     lista.add(fila);
  42.                 }
  43.                 cn.close();
  44.             }
  45.         }catch(SQLException e){
  46.             lista=null;
  47.         }
  48.         return lista;
  49.     }
  50.     public static Object[] getFila(String sql){//Metodo que solo retorna una fila
  51.         Object[]fila=null;
  52.         List lista=getTabla(sql);//Llamamos al metodo getTabla
  53.         if(lista!=null){
  54.             if(lista.size()>1)
  55.                 fila=(Object[])lista.get(1);
  56.         }
  57.         return fila;
  58.     }
A mi me parece que trabajas igual, si en caso no sale, no olvides hacer debug.