Ormlite or()的使用

如题,由于不熟悉这个框架的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

你可能感兴趣的:(orm)