SQL动态打包工具类
SQL动态封装工具类在项目中直接使用jdbc操作的时候,sql的动态条件拼装一直是个非常头疼的事情,前一阵子研
SQL动态封装工具类
在项目中直接使用jdbc操作的时候,sql的动态条件拼装一直是个非常头疼的事情,前一阵子研究ibatis,发现他的代码生成工具iBATOR生成的example类实际是个很不错的sql拼装类,于是拿过来修改了下,
使用:
BaseSelector select = new BaseSelector(); select.setCommand("select from user "); select.createCriteria().andEqualTo("org_code", "YZ1201") .andGreaterThanOrEqualTo("day_code", "2009-01-01") .andLessThanOrEqualTo("day_code", "2009-03-31");调用 select.toSql() 输出:
select from user where org_code = 'YZ1201' and day_code >= '2009-01-01' and day_code <= '2009-03-31'
抛砖引玉,有哪位兄弟有更高的拿来看看啊 /** * 顺序排序 * @param field */ public void setOrderByClauseAsc(String field) { this.orderByClause = getFieldName(field) + " ASC"; } /** * 倒序排序 * @param field */ public void setOrderByClauseDesc(String field) { this.orderByClause = getFieldName(field) + " DESC"; }
建议使用一些生成工具,生成一个数据库字段的static 类
如
public class AAAA{
public static class Table1{
public static String org_code = "org_code";
...
}
public static class Table2{
...
}
}
最后,写成 createCriteria().andEqualTo(AAAA.Table1.org_code, value)
数据库字段论怎样变,org_code变成 kao,eclipse会向你举起双手说:"LZ,AAAA.Table1.org_code已经从地球上消失了!"
24 楼 mycybyb 2010-01-15 呵呵,前几天同事问问题,我就简单给他写了个思路
new Select("select * from user").where(new Condition("col1", EQUAL, "1"))