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);
展开
 我来答
氺毌媞個瞳話aw
推荐于2016-05-25 · 超过18用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:19.7万
展开全部
  1. 顾名思义,replaceFirst即是替换第一个,第一个参数是被替换的值,第二个是替换后的新值.按照你问题所描述的,即是把hql中第一个and替换成where.

  2. 类似的方法还有replace,replaceAll。

  3.replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

 4.replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号,即是把所有第一个参数都替换成第二个新值,例如刚刚的hql.toString().repacleAll("and","where")就是把hql中所有的and都替换成where.

爱蓝色的梦2015
推荐于2017-08-26 · TA获得超过4.9万个赞
知道大有可为答主
回答量:5.1万
采纳率:0%
帮助的人:4522万
展开全部
列表<object>参数=新的LinkedList <object>();
StringBuffer HQL =新的StringBuffer(“用户”);
如果(StringUtil. isnotempty(昵称)){
HQL。追加(“昵称=?”);
参数添加(昵称);
}
返回basedao。得到(HQL。tostring()。replacefirst(“和”,“哪里”),参数);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式