jpa查询所有数据,jpa查询

  jpa查询所有数据,jpa查询

  query q=em . create query( select u from Userinfo u );

  list list=q . get result list();

  如果有多个查询结果,应该使用查询接口的getResultList方法。如果只有一个查询结果,可以使用查询接口的getSingleResult方法。

  命名查询:

  @NamedQuery(name=findAllUser ,query=SELECT u FROM Userinfo u )

  Name表示查询的名称,query就是查询语句本身。命名查询可以在实体类中编写,在第一课中生成的实体类中有多个命名查询。

  对于命名查询,可以使用EntityManager的createNamedQuery方法。要访问上述查询,可以使用以下代码:

  query q=em . createnamed query( find all user );

  list Userinfo list=q . get result list();

  createNamedQuery方法的参数命名查询。

  2.使用查询完成分页

  分页就是一次只显示一些对象的信息。显示哪一部分信息取决于它从哪里开始以及在哪里显示。查询界面可以控制记录的获取。有两种方法可以设置要获取的第一条记录和最后一条记录。这两种方法的定义如下:

  SetMaxResults(int maxResult),该参数是要查询的最大记录数。

  set first result(int start position),参数是要查询的第一条记录的位置。

  页面显示由这两个属性完成。

  注意:分页必须使用Apache-open JPA-1 . 0 . 2-binary . zip,1.0.1不行是个Bug。

  3.条件查询

  对于query,需要在查询语句中使用变量。有两种方式:位置参数和名称参数。

  位参量

  在位置参数中,使用“?”该数字加上参数的序列号来表示参数。

  例如,根据用户名查询用户。

  SELECT u FROM Userinfo u其中u.username=?一个

  1表示第一个参数。

  在位置参数中,可以使用多个参数,这些参数可以用不同的数字表示。同一参数可以在查询中出现多次。

  名字参数

  在“名称参数”类别中,使用“:”加上参数的名称来表示参数。

  例如,根据用户类型查询用户。

  SELECT u FROM Userinfo u其中u.usertype=:usertype

  “:”符号后的usertype是参数的名称。

  位置参数和名称参数都可以在命名查询中使用。

  参数的赋值由查询接口的相应方法完成,主要方法如下:

  公共查询setParameter(int位置,对象值)

  公共查询setParameter(int position,Date value,TemporalType temporalType)

  公共查询setParameter(int position,Calendar value,TemporalType temporalType)

  name参数的赋值方法基本相同,只是第一个参数用于指定参数的名称。主要方法如下:

  公共查询setParameter(字符串名称,对象值)

  公共查询setParameter(字符串名称,日期值,时间类型时间类型)

  公共查询setParameter(字符串名称,日历值,时间类型时间类型)

  示例:使用前面描述的语句按用户名进行查询。

  query q=em . create query( SELECT u FROM Userinfo u其中u.username=?1);

  q=q.setParameter(1,用户名);

  list Userinfo list=q . get result list();

  示例2:使用前面描述的语句根据用户类型进行查询。

  query q=em . create query( SELECT u FROM Userinfo u WHERE u . usertype=:usertype );

  q=q.setParameter(usertype ,usertype);

  list Userinfo list=q . get result list();

  来自:3358 hi . Baidu . com/249116148/blog/item/e 5273 ef 52 c 97720 BC 310928 . html

jpa查询所有数据,jpa查询