getHibernateTemplate().find查空数据库,返回不为空,诡异啊
public boolean registryCheckName(String name) {
return getHibernateTemplate().find("from User where username=?", name) == null;
}
就这么一个方法,查询出来都是不!=null ,为false!!数据库可是一点东西都没有啊
name是有值的,不用怀疑其为null。
所以说,这到底是怎么回事呢??
===================================
我试着在数据库上写上一条内容,然后再查,还是不等于空,但是,这是验证是否相同啊,输入名字与数据库记录明显不同,但还是提示!=null。肯定是这句子的用法出问题...
=============================
搜索看了一下,人家都是“怎么查都是null或者空指针的情况“。
用法,就这样啊:
、find(String queryString , Object value);
示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)
=========================================
我试着输出getHibernateTemplate().find("from User where username=?", name),的确有东西存在....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
getHibernateTemplate().find()返回的是一个List, 一个new过的对象,
所以,!=null, 改用isEmpty:
换个解决了:但对这个方法还是想弄清楚......好像第一位说得比较好!!!
我换的方法如下:代码多了去