JAVA 企业级开发:QL 语言

JAVA 企业级开发:QL 语言

ID:43358846

大小:2.16 MB

页数:44页

时间:2019-10-08

JAVA 企业级开发:QL 语言_第1页
JAVA 企业级开发:QL 语言_第2页
JAVA 企业级开发:QL 语言_第3页
JAVA 企业级开发:QL 语言_第4页
JAVA 企业级开发:QL 语言_第5页
资源描述:

《JAVA 企业级开发:QL 语言》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章EJB3.0QL语言课程内容查询Query的API两种参数查询:命名参数查询和位置参数查询EJB3.0QL语言排序批量更新和删除连接操作投影使用操作符:NOT、BETWEEN、IN、LIKE、NULL、EXISTS等字符串函数查询(QUERY)API一个查询API是Java持久化的一个开放接口,我们可以在运行期间通过实体管理器来获取它。Queue接口的定义如下:Packagejavax.persistence;publicinterfaceQuery{publicListgetResultList();publicob

2、jectgetSingleResult();publicintexecutedate();pubiicQuerysetMaxResults(intmaxResult);pubiicQuerysetFirstResult(intstartPosition);pubiicQuerysetHit(StringhintName,Objectvalue);pubiicQuerysetParameter(Stringname,Objectvalue);publicQuerysetParameter(Stringname,Datevalu

3、e,TemporalTypetemporalType);publicQuerysetParameter(intposition,Objectvalue);//……等等}查询Query的创建我们可以使用EntityManager中的以下方法:packagejavax.persistence;publicinterfaceEntityManager{publicQuerycreateQuery(StringejbqlString);publicQuerycreateNamedQuery(Stringname);publicQue

4、rycreateNativeQuery(StringsqlString);publicQuerycreateNativeQuery(StringsqlString,ClassresultClass);publicQuerycreateNativeQuery(StringsqlString,StringresultSetMapping);}参数查询像java.sql.PreparedStatement在JDBC中EJB-QL允许你指定参数在查询定义中所以我们可以重用和执行多次参数查询,参数查询也和SQL中的参数查询类似EJB3

5、.0QL支持两种方式的参数定义方式:命名参数和位置参数。命名参数查询我们可以在EJB3QL语句中使用参数来动态的执行我们需要查询的命令,命名参数查询的格式为:“:+参数名字”,如以下语句:Queryquery=entityManager.createQuery("fromOrderowhereo.id=:myId");//设置查询中的参数query.setParameter(“myId”,2);同样的,我们也可以使用多个参数在查询语句中注意:不允许在同一个查询中使用两个相同名字的命名参数。位置参数查询位置参数:Queryqu

6、ery=entityManager.createQuery("selectofromOrderowhereo.id=?1");//设置查询中的参数query.setParameter(1,2);//1表示第一个参数,2是参数的值如果考虑到以后的应用需要在不同的EJB3.0运行环境中运行,建议最好使用位置参数,这样可以保证应用的可移植性。EJB3.0QL语言EJB3.0QL主要对以下做了改进:批量更新和删除连接操作GroupBy从句Having从句投影子查询动态查询命名参数在SELECT从句中构造新的对象排序

7、在EJB3.0QL语言中,排序同SQL的使用方法是很类似的,它使用ORDERBY子句。ORDERBY子句的语义同SQL中的类似。例如,我们可以构造一个简单的查询,使用ORDERBY子句来返回一个以用户姓名的字母为顺序的排列表:selectpfromPersonporderbyp.nameORDERBY子句中默认的列表排序方式是升序的。升序和降序分别用"ASC"和"DESC"表示。批量更新和删除操作应用于指定的实体及其所有的子类。操作不会级联到关联的实体。在批量更新中指定的值的类型必须同数据库中的目标字段相匹配。批量更

8、新直接在关系型数据库中进行。持久化上下文并不会同操作结果进行同步。批量更新就是一次性的完成多条记录的更新;批量删除就是一次性的完成从数据库中删除多条记录的操作。我们应该能很容易的猜到它们的含义。这些操作必须遵循以下规则:批量更新/删除如以下查询将所有的定单的金额加10,查询如下:Quer

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。