1 3 package jodd.db.orm.sqlgen; 4 5 import jodd.db.orm.DbEntityDescriptor; 6 7 import java.util.Map ; 8 9 14 public class DbSqlFind implements DbSqlGenerator { 15 16 protected DbDynamicSqlTemplate template; 17 18 public DbSqlFind(Object finder) { 19 init(null, finder, null); 20 } 21 22 public DbSqlFind(String prefix, Object finder) { 23 init(prefix, finder, null); 24 } 25 26 public DbSqlFind(Object finder, boolean columnAlias) { 27 init(null, finder, Boolean.valueOf(columnAlias)); 28 } 29 30 public DbSqlFind(String prefix, Object finder, boolean columnAlias) { 31 init(prefix, finder, Boolean.valueOf(columnAlias)); 32 } 33 34 protected void init(String prefix, Object finder, Boolean columnAlias) { 35 if (prefix == null) { 36 prefix = "select $C{+t.*}"; 37 } 38 template = new DbDynamicSqlTemplate(prefix + " from $T{t} $W{where !t}").use("t", finder); 39 if (columnAlias != null) { 40 template.columnAliases(columnAlias.booleanValue()); 41 } 42 } 43 44 46 49 public DbSqlFind columnAliases(boolean aliases) { 50 template.columnAliases(aliases); 51 return this; 52 } 53 54 public DbSqlFind setColumnAliasesType(DbSqlTemplate.ColumnAliasType aliasesType) { 55 template.setColumnAliasesType(aliasesType); 56 return this; 57 } 58 59 61 public String generateQuery() { 62 return template.generateQuery(); 63 } 64 65 public Map <String , Object > getQueryParameters() { 66 return template.getQueryParameters(); 67 } 68 69 public Map <String , String []> getColumnData() { 70 return template.getColumnData(); 71 } 72 } 73 | Popular Tags |