标签:
如题,由于不熟悉这个框架的API,所以用的时候出错了,直接上代码
public List<Type> getAllBetweenDate(String start, String end) { List<Type> types = null; try { // types = typeDaoOpe.queryBuilder().where().ge("startdate", start) // .and().le("startdate", end).or().ge("enddate", start) // .and().le("enddate", end).query(); Where<Type, Integer> where = typeDaoOpe.queryBuilder().where(); where.or( where.and(where.ge("startdate", start), where.le("startdate", end)), where.and(where.ge("enddate", start), where.le("enddate", end))); types = where.query(); } catch (SQLException e) { e.printStackTrace(); } return types; }
注释部分是原来错误的用法,对应的sql为“select * from tbl_type where (startdate>=‘2015-01-01‘ and startdate<=‘2015-01-31‘) or (enddate>=‘2015-01-01‘ and endate<=‘2015-01-31‘)”。
参考 http://stackoverflow.com/questions/15375967/or-statement-ormlite
http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_3.html#Building-Queries
标签:
原文地址:http://www.cnblogs.com/yahb/p/4226155.html