sql條件查詢java實現
阿新 • • 發佈:2019-01-07
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;
}
注意:
- 此處在where後面加一個1,就可以省去判斷第一個加入的條件,即判斷是否需要and,這樣可以都加上and。
- 利用一個集合來儲存不為空的條件,最後查詢時,將該List集合轉化為array陣列。