public List<TUser> getAllUsersByPage(TUser user, Pager pager) {
String sql = "from TUser where groupId != 0";
if (user != null){
if (user.getUserName() != null && !user.getUserName().equals("")){
sql += " and userName like '%" + user.getUserName() +"%'";
}
}
if(user !=null){
if(user.getGroupId() !=null && !user.getGroupId().equals("")){
sql +=" and groupId = "+ user.getGroupId() +" ";
}

}
所报异常如下:
unexpected token: 2 near line 1, column 70 [from com.tcs.sysmanager.pojo.TUser where groupId != 0 and groupId in 2 ]

解决方案 »

  1.   

    参考一下
    StringBuffer sql=new StringBuffer("from CstCustomer ct where 1=1");
    if(ct.getCustNo()!=null){
    if(!ct.getCustNo().equals("")){
    sql.append(" and ct.custNo like :custNo");
    }
    }
    if(ct.getCustName()!=null){
    if(!ct.getCustName().equals("")){
    sql.append(" and ct.custName like :custName");
    }
    }
    if(ct.getCustRegion()!=null){
    if(!ct.getCustRegion().equals("") && !ct.getCustRegion().equals("全部")){
    System.out.println(ct.getCustRegion());
    sql.append(" and ct.custRegion like :custRegion");
    }
    }
    if(ct.getCustManagerName()!=null){
    if(!ct.getCustManagerName().equals("")){
    sql.append(" and ct.custManagerName like :custManagerName");
    }
    }
    if(ct.getCustLevelLabel()!=null){
    if(!ct.getCustLevelLabel().equals("") && !ct.getCustLevelLabel().equals("全部")){
    sql.append(" and ct.custLevelLabel like :custLevelLabel");
    }
    }
      

  2.   

    我知道了
    异常表示是不识别你写的那个SQL语句
    String sql = "from TUser t where t.groupId != 0";
    在后面的字段后面都加个t.试试
      

  3.   

    !=  改成  <>另外, 你这里, '%" + user.getUserName() +"%'";
    咋 感觉你的这个单引号是全角的一样