技术开发 频道

玩转Java Web应用开发:Play框架

  表2. play.db.jpa.JPASupport.JPAQuery API 说明

方法说明
bind(name, param)用来绑定一个参数的实际值到查询上。在查询语句中可以使用形式参数作为占位符,参数的实际值可以通过此方法来指定。
fetch()用来获取此查询的所有记录。
fetch(max)用来获取此查询的前面 max 条记录。
fetch(page, length)用来对查询结果进行分页。参数 page 表示当前的页数,从 1 开始;length 表示每页的记录数。
first()用来返回查询结果中的第一条记录
from(position)用来设置查询结果中处理的起始位置。参数 position 表示起始位置的序号。该方法的返回结果是一个新的 play.db.jpa.JPASupport.JPAQuery 对象。

  使用 表 2 中给出的方法,就可以在领域对象类中添加一些非常实用的方法,而不需要把这些方法添加到额外的服务层中。在示例应用中,Note 这个领域对象类表示的是用户添加的记录。代码清单 1 中给出了 Note 类中的一些实用方法。

  清单 1. 领域对象类中的实用方法

                
// 创建新的领域对象 Note 的实例,edit() 方法的使用与 create() 类似
Map
<String, String[]> params = new HashMap<String, String[]>();
params.put(
"note.title", new String[] {"My note"});
params.put(
"note.content", new String[] {"My note's content"});
Note.create(Note.class,
"note", params).save();

// 使用 find() 来进行查找
List
<Note> notes = Note.find("byTitle", "My note").fetch();

// 使用 findById() 来查找单个实例
Note note1
= Note.findById(1);

// 使用 delete() 来删除对象实例
Note.delete(
"byTitle", "My note");

// 返回查询结果中的第 2 到第 11 条记录。
Note.find(
"byTitle", "My note").from(1).fetch(10);

  在介绍完 Play 框架的模型层之后,下面介绍控制层。

0
相关文章