BbsDao中查询最新的Bbs公告,转换为查找主键值最大的记录。
DAO中的方法:
public Bbs findBbsByMaxId()
{
return (Bbs)this.getHibernateTemplate().find(
"from Bbs where id = (select max(id) from Bbs)");
}Action中的方法:
public String listNewBbs() throws Exception
{
System.out.println("查找最新BBS");
bbs = this.bbsService.findBbsByMaxId();
System.out.println(bbs.getId());//在控制台这条语句没有输出值!
System.out.println("查找最新BBS完毕!");
return SUCCESS;
}控制台输出结果:查找最新BBS
Hibernate: select bbs0_.ID as ID0_, bbs0_.content as content0_, bbs0_.inTime as inTime0_ from bluedotbookshop.tb_bbs bbs0_ where bbs0_.ID=(select max(bbs1_.ID) from bluedotbookshop.tb_bbs bbs1_)找了半天,不知问题出在哪了,各位帮忙看看……
DAO中的方法:
public Bbs findBbsByMaxId()
{
return (Bbs)this.getHibernateTemplate().find(
"from Bbs where id = (select max(id) from Bbs)");
}Action中的方法:
public String listNewBbs() throws Exception
{
System.out.println("查找最新BBS");
bbs = this.bbsService.findBbsByMaxId();
System.out.println(bbs.getId());//在控制台这条语句没有输出值!
System.out.println("查找最新BBS完毕!");
return SUCCESS;
}控制台输出结果:查找最新BBS
Hibernate: select bbs0_.ID as ID0_, bbs0_.content as content0_, bbs0_.inTime as inTime0_ from bluedotbookshop.tb_bbs bbs0_ where bbs0_.ID=(select max(bbs1_.ID) from bluedotbookshop.tb_bbs bbs1_)找了半天,不知问题出在哪了,各位帮忙看看……
{
private Bbs bbs;
private BbsService bbsService;
public Bbs getBbs()
{
return bbs;
} public void setBbs(Bbs bbs)
{
this.bbs = bbs;
} public BbsService getBbsService()
{
return bbsService;
} public void setBbsService(BbsService bbsService)
{
this.bbsService = bbsService;
}
@SuppressWarnings("unchecked")
public String listNewBbs() throws Exception
{
System.out.println("查找最新BBS");
bbs = this.bbsService.findBbsByMaxId();
System.out.println(bbs.getId());
Map request = (Map)ActionContext.getContext().get("request");
request.put("list", bbs);
System.out.println("查找最新BBS");
return SUCCESS;
}
}
引用 1 楼 fireelf000 的回复:
action中这个bbs在哪定义的?代码贴完整点哈
public class ManageBbsActionextends ActionSupport
{private Bbs bbs;private BbsService bbsService;public Bbs getBbs()
{return bbs;
}publicvoid setBbs(Bbs bbs)
{this.bbs= bbs;
}public BbsService getBbsService()
{return bbsService;
}publicvoid setBbsService(BbsService bbsService)
{this.bbsService= bbsService;
}
@SuppressWarnings("unchecked")public String listNewBbs()throws Exception
{
System.out.println("查找最新BBS");
bbs=this.bbsService.findBbsByMaxId();
System.out.println(bbs.getId());
System.out.println("查找最新BBS完毕!");return SUCCESS;
}
}
{
private Bbs bbs;
private BbsService bbsService;
public Bbs getBbs()
{
return bbs;
} public void setBbs(Bbs bbs)
{
this.bbs = bbs;
} public BbsService getBbsService()
{
return bbsService;
} public void setBbsService(BbsService bbsService)
{
this.bbsService = bbsService;
}
@SuppressWarnings("unchecked")
public String listNewBbs() throws Exception
{
System.out.println("查找最新BBS");
bbs=this.bbsService.findBbsByMaxId();
System.out.println(bbs.getId());
System.out.println("查找最新BBS完毕!");
return SUCCESS;
}
}
"from Bbs where id = (select max(id) from Bbs)");
此返回的是一个list吧,如果再要得到,list虽只有一条记录,但不可以直接转换成Bbs吧,要遍历一下!
public Bbs findBbsByMaxId()
{
return (Bbs)this.getHibernateTemplate().find(
"from Bbs where id in (select max(id) from Bbs)");
}