hql.toString().replaceFirst("and", "where")什么意思?
全部代码在这里List<Object>param=newLinkedList<Object>();StringBufferhql=newStringBuffer("fro...
全部代码在这里
List<Object> param=new LinkedList<Object>();
StringBuffer hql=new StringBuffer("from User");
if (StringUtil.isNotEmpty(nickName)) {
hql.append(" and nickName = ?");
param.add(nickName);
}
return baseDAO.get(hql.toString().replaceFirst("and", "where"), param); 展开
List<Object> param=new LinkedList<Object>();
StringBuffer hql=new StringBuffer("from User");
if (StringUtil.isNotEmpty(nickName)) {
hql.append(" and nickName = ?");
param.add(nickName);
}
return baseDAO.get(hql.toString().replaceFirst("and", "where"), param); 展开
2个回答
展开全部
顾名思义,replaceFirst即是替换第一个,第一个参数是被替换的值,第二个是替换后的新值.按照你问题所描述的,即是把hql中第一个and替换成where.
类似的方法还有replace,replaceAll。
3.replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
4.replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号,即是把所有第一个参数都替换成第二个新值,例如刚刚的hql.toString().repacleAll("and","where")就是把hql中所有的and都替换成where.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询