try{
tx = session.getTransaction();
tx.begin();
Query q = session.
createQuery("select p.id from Person p where p.username=:username and p.password=:password");
q.setString("username",person.getUsername());
q.setString("password", person.getPassword());
List record =q.list();
if (null !=record&&record.size() != 0) {
result = true;
}else{ result = false;} tx.commit();这是我dao层的接口 验证登陆的代码 好用
我想在通过验证username password的时候 如果成功 取得这行的id 并存入一个变量(能把id存入我dto(person)中的id吗 )
不知道怎么写了
求大神帮助 稍微具体点``菜鸟hibernatedaolist
tx = session.getTransaction();
tx.begin();
Query q = session.
createQuery("select p.id from Person p where p.username=:username and p.password=:password");
q.setString("username",person.getUsername());
q.setString("password", person.getPassword());
List record =q.list();
if (null !=record&&record.size() != 0) {
result = true;
}else{ result = false;} tx.commit();这是我dao层的接口 验证登陆的代码 好用
我想在通过验证username password的时候 如果成功 取得这行的id 并存入一个变量(能把id存入我dto(person)中的id吗 )
不知道怎么写了
求大神帮助 稍微具体点``菜鸟hibernatedaolist
解决方案 »
- 想学Java EE 6,现在有啥好书没啊
- 为什么不要在servlet里创建新线程
- hibernate连SQL Server 2000用工具类创建表时出问题以下问题
- 如何停止weblogic正在运行中的应用程序?
- 新手学习Struts的困惑~~
- 倾囊求助:tomcat的监控程序!在线等!
- LDAP问题,有星的无星的都来救命啊。
- EJB问题:数据库表中主键是自增1的,实体Bean的Create方法该怎么写?
- 怎么得到去年的星期相同的最近一天的日期?
- 急急!有些关于在jbuilder5里开发ejb的问题,请各位有经验的能帮帮忙!
- 需要做个小插件,求帮助。
- 关于java中map1的put方法的一个问题
还是你需要的是把这个dao层内容给封装出来?
想做个登陆并修改数据库的最后一次登陆时间
先验证登陆 然后返回service层调用dao层update方法修改时间 再返回页面
到修改时间这我想法是如果登陆成功就取得这条数据的id 直接根据id修改使劲就ok了
但是不知道怎么取id
request.getSession().setAttribute("userId", userId);我好奇 你的用户名 密码 不唯一?
怎么还要取list?
你这不是已经取出来了吗、
把hql 改改 from Person p where p.username=:username and p.password=:password
返回一个person不就可以了吗Person person = null;
try{
Query q = session.
createQuery("select p.id from Person p where p.username=:username and p.password=:password");
q.setString("username",person.getUsername());
q.setString("password", person.getPassword());
List record =q.list();
if (null != record && !record.isEmpty() ) {
person = (Person)record.get(0);
}
}finally{
session.clear();
session.close();
}
return person;你根据该方法返回的dto(person) 是否为null 就知道有没有该用户了、
而且 里面的数据全都查出来了 你想要什么就自己用什么咯另外select查询 不需要事务的
不用begin 和commit。
"select p.id from Person p where p.username=:username and p.password=:password"
改为:
from Person p where p.username=:username and p.password=:password
再麻烦下 我想在这个person表中存入当前时间lasttime 有什么方便得方法吗?
我得想法是这样
if (null !=record&&record.size() != 0) {
//更新最后一次登陆时间
Query t = session.
createQuery("update person set lasttime=('now()')"); result = true;
}else{ result = false;}
但是报错org.hibernate.hql.internal.ast.QuerySyntaxException: person is not mapped [update person set lasttime=('now()')]
求指点
hibernateTemplate有saveOrUpdate你把时间setter 到dto里带着id 保存即可
是查询到该用户的数据 拿出来封装到你的dto person里。另外hibernate 并不识别 一些数据常用的函数 。需要你自己注册函数写个方法继承自该数据库的方言 registeredFunction 即可