1. 程式人生 > >sql條件查詢java實現

sql條件查詢java實現

sql條件查詢java實現

public List<Product> searchByCondition(Condition condition) throws SQLException {
		QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());
		String sql = "select * from product where 1 ";
		List<String> paramList = new ArrayList<String>(); 
		if
(condition.getPname() != null && !condition.getPname().trim().equals("")){ sql += " and pname like ? "; paramList.add("%" + condition.getPname().trim() + "%"); } if(condition.getCid() != null && !condition.getCid().trim().equals("")){ sql += " and cid=? "; paramList.
add(condition.getCid().trim()); } if(condition.getIs_hot() != null && !condition.getIs_hot().equals("")){ sql += " and is_hot =? "; paramList.add(condition.getIs_hot().trim()); } List<Product> productList = queryRunner.query(sql, new BeanListHandler<Product>(Product.
class),paramList.toArray()); return productList; }

注意:

  1. 此處在where後面加一個1,就可以省去判斷第一個加入的條件,即判斷是否需要and,這樣可以都加上and。
  2. 利用一個集合來儲存不為空的條件,最後查詢時,將該List集合轉化為array陣列。