public T getObjectBlank() { T obj = null; try { Class clase = getClassEntity(); obj = (T) clase.newInstance(); obj.setMapeo(); } catch (InstantiationException ex) { Logger.getLogger(AbstractFacade.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(AbstractFacade.class.getName()).log(Level.SEVERE, null, ex); } return obj; }
/** * Obejto que permite comunicarme con la base de datos * * @param i objeto que implemente la interfaz Mapeo */ public void insert(T i) { i.setMapeo(); Mapeo mapeo = i.getMapeo(); ArrayList<Columna> columnas = mapeo.getColumnas(); String consulta = "INSERT INTO " + mapeo.getNombreTabla() + "("; for (int j = 0; j < columnas.size(); j++) { Columna c = columnas.get(j); if (j == (columnas.size() - 1)) { consulta = consulta + c.getName(); } else { consulta = consulta + c.getName() + ","; } } consulta = consulta + ") VALUES ("; for (int j = 0; j < columnas.size(); j++) { try { Columna c = columnas.get(j); // obtener el metodo get para acceder a los datos String texto = c.getRefAtributo().getName(); String nombreMetodo = "get" + Character.toUpperCase(texto.charAt(0)) + texto.substring(1, texto.length()); ; Method metodoGetValor = findMethod(i.getClass().getMethods(), nombreMetodo); Object valor = metodoGetValor.invoke(i); if (j == (columnas.size() - 1)) { consulta = consulta + "'" + valor.toString() + "'"; } else { consulta = consulta + "'" + valor.toString() + "',"; } } catch (IllegalAccessException ex) { Logger.getLogger(AbstractFacade.class.getName()).log(Level.SEVERE, null, ex); } catch (IllegalArgumentException ex) { Logger.getLogger(AbstractFacade.class.getName()).log(Level.SEVERE, null, ex); } catch (InvocationTargetException ex) { Logger.getLogger(AbstractFacade.class.getName()).log(Level.SEVERE, null, ex); } } consulta = consulta + ");"; System.out.println(consulta); this.conexion.ejecutarQuery(consulta); }