如图所示 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()); }