如图所示
sql拼接,多条件模糊查询
dao层代码
public List<Product> findBy(String name, String keywords) throws SQLException {
QueryRunner qr = new QueryRunner(DataSourceUtil.getDataSource());
String sql="select * from product where 1=1 ";
//存放参数
ArrayList<String> params=new ArrayList<>();
//判断参数是否为空 拼接sql
if(name!=null && name.trim().length()>0){
sql+=(" and pname like ? ");
params.add("%"+name+"%");
}
if(keywords!=null && keywords.trim().length()>0){
sql+=(" and pdesc like ? ");
params.add("%"+keywords+"%");
}
return qr.query(sql, new BeanListHandler<>(Product.class), params.toArray());
}