Buenos días,
Gracias por la indicación.
En la clase
consulta tengo varios métodos
metodoQuery que se diferencian muy poco entre unos y otros como por ejemplo
metodoQuery de la primera pregunta y el que viene a continuación:
Código java:
Ver originalpublic variable metodoQueryParecido
(Connection conexion, parametros
){
try {
if (conexion == null || conexion.isClosed()) {
conexion = conexionPG.reConectar();
}
log.error(ex);
}
//Construyo la query
String select
= "select distinct campo1, "; consulta = consulta + select;
consulta = consulta + campo2;
//antes campo3, ahora campo4
consulta = consulta + campo4;
consulta = consulta + from;
String whereC1
= "where campo1 like 'parametros.parametro1' "; consulta = consulta + whereC1;
//antes campo4, ahora campo2
String whereC2
= "and campo2 like 'parametros.parametro2'' "; consulta = consulta + whereC2;
try {
rs = ps.executeQuery();
log.error("daoAlertas\n", ex);
}
if (rs != null) {
return rs;
}
return null;
}
Lo que estoy probando ahora es a transformar los métodos del siguiente modo:
metodoQuery
Código java:
Ver originalpublic variable metodoQuery
(Connection conexion, parametros
){
conexion = conexion();
//Construyo la query
consulta += query.select();
consulta += query.distinct();
consulta += query.campo123();
consulta += query.from();
consulta += query.whereC1(parametros.parametro1);
consulta += query.wherec4(parametros.parametro2);
try {
rs = ps.executeQuery();
log.error("daoAlertas\n", ex);
}
if (rs != null) {
return rs;
}
return null;
}
query
Código java:
Ver originalpublic class query {
public static String select
() { return "select ";
}
public static String distinct
() { return "distinct ";
}
return "from tabla ";
}
public static String where
() { return "where ";
}
public static String campo123
() { return "campo1, campo2, campo3 ";
}
public static String campo12
() { return "campo1, campo2, ";
}
public static String campo4
() { return "campo4 ";
}
public static String fromTabla
() { return "from tabla";
}
return "C1 = " + param + " ";
}
return "and C2 = " + param + " ";
}
return "and C4 = " + param + " ";
}
return "and C3 = " + param + " ";
}
Y después de estas tres mil líneas de código mi duda es si lo dejo como estaba, lo cambio a la llamada a métodos o sustituyo los métodos por constantes.
Un saludo y buen día.