请问应该怎么拼接sql,实现模糊查询


     public List<UserBean> getUserList(Map<String,Object>map){
         String sql="select b.*,(select A.realname from user A where A.username=b.createid) as createname From user b where  1=1 ";
//         String sql = "select * from user where 1=1";
         List<Object> params=new ArrayList<Object>();
         
         if(map.containsKey("username")&& !"".equals(map.get("username"))) {
             sql+=" and username =?";
             params.add(map.get("username"));
         }
return Dao.query(sql, UserBean.class);

我想在获取查询条件username的时候实现模糊查询,可是无论是在等号后边加百分号还是再拼一个百分号都不好使

建议试试:sql+= " username like '%?%' "
写SQL的时候,可以先把SQL在Navicat或者sqlyog里面运行成功之后,再粘过来运行哦~

username like '%张%'