81,092
社区成员
发帖
与我相关
我的任务
分享
public List<Chat> listPartChat(String sendAccount,String receiveAccount){
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Chat.class);
criteria.add(Expression.eq("sendAccount", sendAccount));
criteria.add(Expression.eq("receiveAccount", receiveAccount));
criteria.setFirstResult(1);
criteria.setMaxResults(3);
List listPartChat = criteria.list();
session.close();
sessionFactory.close();
return listPartChat;
}
public List<Chat> listPartChat(String sendAccount,String receiveAccount){
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Chat.class);
criteria.add(Expression.eq("sendAccount", sendAccount));
criteria.add(Expression.eq("receiveAccount", receiveAccount));
int totalCount = (Integer)criteria.setProjection(Projections.rowCount()).uniqueResult();
System.out.println("totalCount=="+totalCount);
criteria.setFirstResult(totalCount-3);
criteria.setMaxResults(totalCount);
List listPartChat = criteria.list();
session.close();
sessionFactory.close();
return listPartChat;
}
<%
String sendAccount = (String)session.getAttribute("userAccount");
String receiveAccount = request.getParameter("receiveAccount");
ChatDao dao = new ChatDao();
List listPartChat = dao.listPartChat(sendAccount,receiveAccount);
request.setAttribute("partChat", listPartChat);
%>
<table>
<s:iterator value="#request.partChat" id="stuts">
<tr>
<td><s:property value="#stuts.receiveName" /> </td>
<td><s:property value="#stuts.time" /></td>
</tr>
<tr>
<td><s:property value="#stuts.chatContent" /></td>
</tr>
</s:iterator>
</table>
select * from (select * from emp order by empno desc) where rownum<=3;
public List<Chat> listPartChat(String sendAccount,String receiveAccount){
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(Chat.class);
Criteria criteria2 = session.createCriteria(Chat.class);
criteria2.add(Expression.eq("sendAccount", sendAccount));
criteria2.add(Expression.eq("receiveAccount", receiveAccount));
int totalCount = (Integer)criteria2.setProjection(Projections.rowCount()).uniqueResult();
System.out.println("totalCount=="+totalCount);//***
criteria.add(Expression.eq("sendAccount", sendAccount));
criteria.add(Expression.eq("receiveAccount", receiveAccount));
criteria.setFirstResult(totalCount-3);
criteria.setMaxResults(totalCount);
List listPartChat = criteria.list();
session.close();
sessionFactory.close();
return listPartChat;
}
criteria.addOrder(Order.desc("time"));
criteria.addOrder(Order.asc("time"));
select * from (select * from emp order by empno desc) where rownum<=3;
select * from _post where fid < "+fid+" order by fid desc limit 1
Criteria criteria1 = session.createCriteria(TestItem.class);
Criteria criteria2 = session.createCriteria(TestItem.class);
int totalCount = (Integer)criteria2.setProjection(Projections.rowCount()).uniqueResult();
criteria1.setMaxResults(3);
criteria1.setFirstResult(totalCount-3);
List<TestItem> items = criteria1.list();
for(TestItem item : items){
System.out.println(item.getName());
}
写错了
criteria.setFirstResult(totalCount-3);
criteria.setMaxResults(3);
int totalCount = (Integer)criteria.setProjection(Projections.rowCount()).uniqueResult();
是不是这样写的?
criteria.setFirstResult(totalCount-3);
criteria.setMaxResults(totalCount);
试一下criteria.setMaxResults(3);