关键词:数据中心,数据存储,自定义查询,JPQL,查询语句

O2OA提供的数据管理中心,可以让用户通过配置的形式完成对数据的汇总,统计和数据分组展现,查询和搜索数据形成列表数据展现。也支持用户配置独立的数据表来适应特殊的业务的数据存储需求。本文主要介绍如何在O2OA中开发和配置自定义数据查询语句JPQL。

Statement

查询语句是建立在数据表基数上的查询语句配置。配置查询语句后,在应用中可调用执行。

入口

点系统的左上角图标->应用->数据中心平台->具体应用->查询配置打开

查询语句的后台服务

http://{hostip}:20020/x_query_assemble_surface/jest/index.html



image.png

创建查询配置

1、创建查询配置;
2、选择语句类型和数据表;
3、编写查询语句,保存

查询语句

语法

查询语句用的是JPA JPQL语句,如 :

select o from tableName o where o.name='zhangsan'

了解JPQL语句可以点击链接查看:https://www.objectdb.com/java/jpa/query/jpql/structure

动态传参

查询语句中的where语句的值可以使用json传入
如:
查询语句的设计为

select o from tableName o where o.name=:n

在调用查询语句的时候传入 json

{
    "n" : "zhangsan"
}


则 最终在后台拼接成的语句为

select o from tableName o where o.name='zhangsan'


了解JPQL语句动态传参可以点击链接查看:https://www.objectdb.com/java/jpa/query/parameter

使用

需要编写脚本去使用查询语句

方法一

o2.Actions.get( "x_query_assemble_surface" ).executeStatement(
    statementFlag, //语句id、语句名称或语句别名
    page, //页码,数字
    size,  //每页条数
    data, //请求的json
    function(json){
        //json为执行結果
    },
    function(xhr){ 
        //如果返回错误,在这里处理
    },
    async //同步还是异步
)


例如:现在已有一个查询语句配置

select o from student o where o.class=:class

,存储的别名是 selectStudent,取第一页的10条,那么方法如下:

o2.Actions.get( "x_query_assemble_surface" ).executeStatement(
    "selectStudent",1,10,{
        class : "01计算机一班"
    },function(json){
        //json 为返回的结果
    }
)

方法二

var action = new this.Action( "x_query_assemble_surface", {
    executeStatement:{ //服务命名1,自定义
        "uri": "/jaxrs/statement/{flag}/execute/page/{page}/size/{size}", //服务地址1,形如 /jaxrs/...
        "method": "POST" //请求方法,包括 GET POST PUT DELETE
    }
);
action.invoke({
    "name": "executeStatement", //自定义的服务名
    "parameter": {
        "flag": statementFlag, //语句id、语句名称或语句别名
        "page" : page, //页码,数字
        "size" : size //每页条数
    },  //uri参数
    "data": {  }, //请求的正文
    "success": function(json){ //服务调用成功时的回调方法,json 是服务返回的数据
        //这里进行具体的处理
    }.bind(this),
    "failure" : function(xhr){ //服务调用失败时的回调方法,xhr 为 XMLHttpRequest 对象
        //这里进行具体的处理
    },
    "async" : true, //同步还是异步,默认为true
});


例如:现在已有一个查询语句配置

select o from student o where o.class=:class

,存储的别名是 selectStudent,取第一页的10条,那么方法如下:

var action = new this.Action( "x_query_assemble_surface", {
    executeStatement:{ //服务命名1,自定义
        "uri": "/jaxrs/statement/{flag}/execute/page/{page}/size/{size}", //服务地址1,形如 /jaxrs/...
        "method": "POST" //请求方法,包括 GET POST PUT DELETE
    }
);
action.executeStatement({
    "name": "executeStatement", //自定义的服务名
    "parameter": { //uri参数
        "flag": selectStudent, //语句id、语句名称或语句别名
        "page" : 1, //页码,数字
        "size" : 10 //每页条数
    },  
    "data": { //请求的正文
        class : "01计算机一班"
     }, 
     "success" : function(json){
         //json 为返回的结果
     }
})

推荐文章:

办公中心
2021-02-19
O2OA办公中心用于查阅您您待办或已办事项,发起新的流程任务等,您也可以在系统首页完成相关的操作。
业务开发-组织架构-组织职位信息管理
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要,可以为组织设置不同的职务来实现配置和人员的解耦。
移动办公-将平台集成到华为WeLink
2021-02-25
O2OA平台拥有配套的原生开发的安卓和IOS移动APP,可以以WeLink企业内部轻应用的方式集成,同步WeLink的通讯录作为本地组织人员架构,并且可以将待办
办公用品管理使用手册
2021-02-18
O2OA办公用品管理为企业提供办公用品的入库,领用,采购维护等功能,以便于轻松管理物资,减少铺张浪费,节约成本,提高办公效率。
开发平台功能概述
2021-02-18
O2OA并不是一款传统意义上的OA系统。它是一款以流程管理为核心的全开源全免费的信息化开发平台,完整的代码可以直接在Github和Gitee上下载,并且不需要支
常见问题-服务器和日志时间相差12小时的问题
2021-02-07
解决方案:修改start_linux.sh,在最后的调用java命令的参数中添加时区参数:-Duser.timezone=GMT+08重启后生效!
服务集成-与外部系统数据交互
2021-03-03
O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在O2OA中开发接口与外部系统进行数据交互。
移动办公-连接O2云使用手机移动办公
2021-02-25
O2OA平台拥有配套的原生开发的安卓和IOS移动APP,开发者在拥有公网IP或者域名的服务器上可以轻松体验移动办公环境,并且不会产生任何费用。本篇主要介绍如何将
系统配置-服务器端口冲突和端口修改
2021-02-25
在安装O2OA的服务器上很可能已经启用了IIS、apache或者nginx等服务器,已经有其他的应用或者web站点正在运行中,所以O2OA启动所需要的80端口已
移动办公-将O2OA接入到微信公众号
2021-03-17
O2OA平台拥有配套的原生开发的安卓和IOS移动APP,目前O2OA已经支持微信公众号的集成,用户可以通过关注微信公众号进行工作处理。并且支持待办工作的消息提醒

results matching ""

    No results matching ""