高级查询构造器 === **目录索引:** - 功能介绍 - 配置高级查询构造器 1. 配置高级查询构造器 2. 配置表关联 3. 配置表字段 - 配置JSP页面属性调用高级查询构造器 1. 配置标签 - 配置后台DataGrid查询方法 - 功能测试 #高级查询构造器 ##一、功能介绍 高级查询构造器支持主子表联合查询,查询出更精确的数据。 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154437_DVi7.png "在这里输入图片标题") 要使用高级查询构造器需要完成以下步骤: 1.在高级查询管理配置主子表信息。 2.配置完后在JSP页面DataGrid标签上添加complexSuperQuery属性,值填写在高级查询管理配置的查询规则编码。 3.需要在后台DataGrid查询方法里面添加SQL语句。 4.配置后可在页面上看到“高级查询构造器”按钮,点击使用。 ##二、配置高级查询构造器 ###1.配置高级查询构造器 打开“高级查询管理”菜单,点击“录入”按钮弹出如下框 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154524_agi4.png "在这里输入图片标题") ###2.配置表关联 查询规则编码为页面上要输入的编码,根据此编码查询对应的数据。查询类型选择“主子表”。在下方“表集合”处,第一行默认为主表信息,点击“添加”增加子表信息,必须输入外键字段。 ###3.配置表字段 在“字段配置”中,表名则为“表集合”里填写的主子表信息,选择表在后面输入数据库中存储的字段名,“字段文本”为查询时页面上显示的字段名,字段类型、控件类型根据当前字段类型选择。 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154554_VerH.png "在这里输入图片标题") 下拉框:查询数据字典,请在“字典Code”中输入数据字典的CODE。 弹出框:查询Online报表配置,依次在后面三个文本框中输入对应的值。“字典Table”为报表配置中填写的编码,“字典Code”为页面上要展示的字段,高级查询构造器默认做了显示,可不填。“字典Text”为要查询的字段名。 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154618_FxaJ.png "在这里输入图片标题") 日期、时间:页面上会自动出现选择时间的控件。 输入框:普通文本框。 ##三、配置JSP页面属性调用高级查询构造器 ###1.配置标签 在对应页面的JSP上找到<t:datagrid>标签,在里面添加complexSuperQuery属性。其值为刚才在高级查询管理里配置的“查询规则编码”。 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154701_lpzq.png "在这里输入图片标题") 填写完后可在页面上看到“高级查询构造器”。 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154718_Yg53.png "在这里输入图片标题") ##四、配置后台DataGrid查询方法 需要在对应页面的后台DataGrid查询方法处增加SQL语句,方法已经写好。编写如下代码: ``` String sql = SuperQueryUtil.getComplxSuperQuerySQL(request); if(oConvertUtils.isNotEmpty(sql)) { cq.add(Restrictions.sqlRestriction(" id in ("+sql+")")); } ``` 此段代码放入Try里面即可。 ##五、功能测试 在“高级查询管理”菜单里配置好后在后方会出现“体验” ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154803_uQGw.png "在这里输入图片标题") 点击可查看配置的主子表信息。 在要使用高级查询构造器的页面上实现2、3步骤则可使用,对配置页面的信息进行查询。 ![输入图片说明](https://static.oschina.net/uploads/img/201804/17154825_fTnr.png "在这里输入图片标题") 可点击右下角的“另存为查询方案”把查询规则保存在数据库,下次打开可直接点击右侧保存规则查询。