如何在Play Framework中使用Ebean限制MySQL查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Play Framework中使用Ebean限制MySQL查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1376字,纯文字阅读大概需要2分钟。
内容图文
嘿伙计们,
我有使用Play Framework的问题.
我正在尝试显示大量数据(来自此数据库).当我使用“find.all()”时,Play Framework Server崩溃,因为它占用了大量内存.
我有一个名为的DB模型:
@Entity
public class dblp_pub_new extends Model {
[...]
public dblp_pub_new() {}
public static List<dblp_pub_new> all() {
return find.all();
}
public String getDoi() {
return doi;
}
public void setMdate() {
this.mdate = new Date();
}
public static Finder<String,dblp_pub_new> find = new Finder<String, dblp_pub_new>(String.class, dblp_pub_new.class);
}
我的渲染函数是,它包含在Application.java中:
public static Result dois(){
return ok(views.html.index.render(dblp_pub_new.all(), DoiForm));
}
我试图将all()查询限制为50(最好是每页).但我似乎无法弄明白.我想我需要一个List返回显示在网页上.但我无法让它发挥作用.
如果你们中的一个(和女孩)可以帮助我解决这个问题,我会真的很放心.
我用“fetch”和“setMaxRows()”尝试过它,但我只能得到我似乎无法解决的错误.
如果有不清楚的地方,请问我,我会尝试提供尽可能多的信息.
谢谢.
解决方法:
Ebean有助于简化数据分页.它在那里被称为PagingList.为Ebeans allows you to get such a PagingList for your query玩Finder helper class.
假设您要在每页显示50个项目,并且想要检索第一页的项目.然后你会写这样的东西
public static List<dblp_pub_new> getpageItems(int page) {
int pageSize = 50;
return find.findPagingList(pageSize).getPage(page).getList();
}
另请注意,您的类名dblp_pub_new非常不寻常.有关更多信息,请参阅this question.
内容总结
以上是互联网集市为您收集整理的如何在Play Framework中使用Ebean限制MySQL查询全部内容,希望文章能够帮你解决如何在Play Framework中使用Ebean限制MySQL查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。