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

入口

点系统的左上角导航->设计中心->数据中心->具体应用->查询配置打开

查询语句的后台服务

​http://applicationServer:20020/x_query_assemble_surface/jest/index.html​

创建查询配置

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
1
{
2
"n" : "zhangsan"
3
}
Copied!
则 最终在后台拼接成的语句为
select o from tableName o where o.name='zhangsan'
了解JPQL语句动态传参可以点击链接查看:https://www.objectdb.com/java/jpa/query/parameter

使用

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

方法一

1
o2.Actions.get( "x_query_assemble_surface" ).executeStatement(
2
statementFlag, //语句id、语句名称或语句别名
3
page, //页码,数字
4
size, //每页条数
5
data, //请求的json
6
function(json){
7
//json为执行結果
8
},
9
function(xhr){
10
//如果返回错误,在这里处理
11
},
12
async //同步还是异步
13
)
Copied!
例如:现在已有一个查询语句配置select o from student o where o.class=:class,存储的别名是 selectStudent,取第一页的10条,那么方法如下:
1
o2.Actions.get( "x_query_assemble_surface" ).executeStatement(
2
"selectStudent",1,10,{
3
class : "01计算机一班"
4
},function(json){
5
//json 为返回的结果
6
}
7
)
Copied!

方法二

1
var action = new this.Action( "x_query_assemble_surface", {
2
executeStatement:{ //服务命名1,自定义
3
"uri": "/jaxrs/statement/{flag}/execute/page/{page}/size/{size}", //服务地址1,形如 /jaxrs/...
4
"method": "POST" //请求方法,包括 GET POST PUT DELETE
5
}
6
);
7
action.invoke({
8
"name": "executeStatement", //自定义的服务名
9
"parameter": {
10
"flag": statementFlag, //语句id、语句名称或语句别名
11
"page" : page, //页码,数字
12
"size" : size //每页条数
13
}, //uri参数
14
"data": { }, //请求的正文
15
"success": function(json){ //服务调用成功时的回调方法,json 是服务返回的数据
16
//这里进行具体的处理
17
}.bind(this),
18
"failure" : function(xhr){ //服务调用失败时的回调方法,xhr 为 XMLHttpRequest 对象
19
//这里进行具体的处理
20
},
21
"async" : true, //同步还是异步,默认为true
22
});
Copied!
例如:现在已有一个查询语句配置select o from student o where o.class=:class,存储的别名是 selectStudent,取第一页的10条,那么方法如下:
1
var action = new this.Action( "x_query_assemble_surface", {
2
executeStatement:{ //服务命名1,自定义
3
"uri": "/jaxrs/statement/{flag}/execute/page/{page}/size/{size}", //服务地址1,形如 /jaxrs/...
4
"method": "POST" //请求方法,包括 GET POST PUT DELETE
5
}
6
);
7
action.executeStatement({
8
"name": "executeStatement", //自定义的服务名
9
"parameter": { //uri参数
10
"flag": selectStudent, //语句id、语句名称或语句别名
11
"page" : 1, //页码,数字
12
"size" : 10 //每页条数
13
},
14
"data": { //请求的正文
15
class : "01计算机一班"
16
},
17
"success" : function(json){
18
//json 为返回的结果
19
}
20
})
Copied!