SSH项目,在DAO中使用hibernateTemplate的问题

发布于 2021-11-30 09:33:43 字数 1494 浏览 730 评论 1

一下是文件结构:


在执行UsersDAOImpl中的

public List<Users> findAll() {
	String hql = "from Users users";
	List<Users> users = this.hibernateTemplate.find(hql);
	return users;
}



是可以在网页上显示数据,当是执行下面代码的时候,网页提示500错误

public Users query(String username) {
	String hql = "from Users users where users.username=:n";
	System.out.println("第一次的username"+username);
	List<Users> users = 
        this.hibernateTemplate.findByNamedParam(hql, "n",username);
	System.out.println("第二次的username"+username);
	Users user = null;
	if (users != null && users.size() > 0) {
		user = users.get(0);
	} else {
		System.out.println("query():users.size=
                " + users.size());
	}
	return user;
}




username的传值是没问题的,第一次的username是可以在控制台正常输出,但是第二次的username没有数据,页面就报了500的错误,我单独执行了一下问题就在于

this.hibernateTemplate.findByNamedParam(hql, "n",username);

前面调用hibernateTemplate.find()方法是没有问题的,所以在声明hibernateTemplate是没有出错,这两个方法是UsersDAOImpl中,问题就是在findByNamedParam的调用出错了,有哪位好心人指点一下!


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风透绣罗衣 2021-11-30 11:34:14

终于找到解决的方法了,是因为antlr包冲突,把久版本移除掉问题就解决了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文