Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据

1. 1. 配置条件字段@Conditional 1 1

2. 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.rang, rangStart = rang.start, rangEnd = rang.end,op=op.range) 1

3. #----show  condition  page  list 1

4. 提交条件查询表单by dwr 1

5. @filter  ::   set filter condition use or not use ....or save form .... 2

6. @converter 2

7. #----保存每一个条件map 4 调试 2

8. #====start 2

9. Sigle,range>>>>  wehere  cause 2

10. Hb pageing 2

11. Ret  page map 2

12. #----code 3

13. 参考 5

1. 1. 配置条件字段@Conditional 1

2. 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.rang, rangStart = rang.start, rangEnd = rang.end,op=op.range)

或者dispayType.single..

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. #----show  condition  page  list

4. 提交条件查询表单by dwr

//queryBtn_click

Query(1)

function query(isResetPage1)

{

)

resetPageTo1();

var mp=dwr.util.getFormValues("formx");

elmtC.findByPropertyss_page(mp ,function(data){

//alert("保存成功");

bindTableData(data.rows);

});

});

}

5. @filter  ::   set filter condition use or not use ....or save form ....

6. @converter

7. #----保存每一个条件map 4 调试

filex.save_safe( core.toJsonStr(QueryPropertyssMap) , "c:\\json2.txt");

8. #====start

for (Field fld : flds) {

Conditional cdt = fld.getAnnotation(Conditional.class);

if (cdt == null)

continue;

.......

9. Sigle,range>>>>  wehere  cause

10. Hb pageing

11. Ret  page map

Map mp=new HashMap();

mp.put("total" ,SafeVal.val( threadLocal_rowsCount.get(),list_sub.size()));

mp.put("rows",list_sub);

12. #----code

public List findByPropertyss(Map QueryPropertyssMap) {

// log.debug("finding GvMaterial instance with property: " +

// propertyName + ", value: " + value);

core. log("---o720--");

core.logMap(QueryPropertyssMap);

filex.save_safe( core.toJsonStr(QueryPropertyssMap) , "c:\\json2.txt");

String propertyName;

Object value;

Criteria c = getSession().createCriteria(GvMaterial.class);

Field[] flds = GvMaterial.class.getDeclaredFields();

for (Field fld : flds) {

try {

String fldName = fld.getName();

if (fldName.startsWith("playtime")) {

String s = "";

}

if (!includeFldInfoPostMap(QueryPropertyssMap, fldName))

continue;

Conditional cdt = fld.getAnnotation(Conditional.class);

if (cdt == null)

continue;

if (cdt.adptr() != None.class) // cstm mode

//

{

List li = adptrMOde(QueryPropertyssMap, c, fld, fldName,

cdt);

addExpresss(c, li);

} else if (cdt.displayType().equals(displayType.single)) {

// if

// (fld.getType().getName().equals(String.class.getName()))

// {

List<Criterion> exprsLi = getExprs(fldName, cdt.op(),

QueryPropertyssMap);

core.log(String.format("--o7f1: dbg fldinfo: %s---%s ",

fldName, QueryPropertyssMap.get(fldName)));

addExpresss(c, exprsLi);

// Restrictions.like(fldName, "%" + + "%")

} else if (cdt.displayType().equals(displayType.rang)) {

List<Criterion> exprsLi = getExprs(fldName, cdt.op(),

QueryPropertyssMap);

core.log(String.format("--o7f1: dbg fldinfo: %s---%s ",

fldName, QueryPropertyssMap.get(fldName)));

addExpresss(c, exprsLi);

}

//

} catch (Exception e) {

core.log(e);

}

// c.add(Restrictions.eq("aname",name));//eq是等于,gt是大于,lt是小于,or是或

}

c.addOrder(Order.desc("materialId"));

List<GvMaterial> list = c.list();

threadLocal_rowsCount.set(list.size());

Object page = QueryPropertyssMap.get("page_page");

List<GvMaterial> list_sub = PagingUtil.getList(list,

QueryPropertyssMap.get("pagesize"), page);

return list_sub;

}

13. 参考

atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模 - attilax的专栏 - 博客频道 - CSDN.NET.htm

Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据的更多相关文章

  1. Atitit.列表页and查询条件的最佳实践(1)------设定搜索条件and提交查询and返回json数据

    Atitit.列表页and查询条件的最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段显示类 ...

  2. Atitit 数据库view视图使用推荐规范与最佳实践与方法

    Atitit 数据库view视图使用推荐规范与最佳实践与方法 1. 视图的优点:1 1.1. **提升可读性  定制用户数据,聚焦特定的数据1 1.2. 使用视图,可以简化数据操作.       1 ...

  3. atitit. 日志系统的原则and设计and最佳实践(1)-----原理理论总结.

    atitit. 日志系统的原则and设计and最佳实践总结. 1. 日志系统是一种不可或缺的单元测试,跟踪调试工具 1 2. 日志系统框架通常应当包括如下基本特性 1 1. 所输出的日志拥有自己的分类 ...

  4. atitit.人脸识别的应用场景and使用最佳实践 java .net php

    atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景 1 2. 框架选型 JNI2OpenCV.dll and JavaCV 1 3. Url ap ...

  5. atitit.人脸识别的应用场景and使用最佳实践 java .net php

    atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景1 2. 标准化的api1 3. 框架选型 JNI2OpenCV.dll and JavaCV ...

  6. 查询返回JSON数据结果集

    查询返回JSON数据结果集 设计目标: 1)一次性可以返回N个数据表的JSON数据 2)跨数据库引擎 { "tables": [ { "cols": [ { & ...

  7. jsp通过jQuery返回json数据到页面

    1.首先要导入json的包,自己去网站找,总共6个jar包! 2. 在servlet里的写法(仅共参考) JSONObject json = new JSONObject(); String a = ...

  8. SpringBoot2 使用@RestController 无法返回一个地址,前台无法渲染为页面,只能返回json数据

    spring boot之访问静态页面 楼主前两天自学spring boot,然后在学习的过程中,出现一个疑问,就是如何去访问静态的html网页,这个问题,楼主上网上搜了下,找到的是在resource目 ...

  9. Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php

    )------翻页 分页 控件的实现java .net php 1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1 2. 翻页的显示格式:: 1 2.1. 通常ui- ...

随机推荐

  1. lucene prefixQuery

    prefixQuery是lucene的一个前缀匹配的搜索功能,但是它的前缀匹配不是完全的前缀匹配,的query生成是:易* 但是能把所有带有易字的都搜到... 下面是实验:出现了交易...

  2. MRP生产计划模式在多品种小批量生产过程中遭遇挑战

    传统的MPS主生产计划和MRP物料需求计划的方式,已很难适应按需生产环境,很多企业正在转向按需生产环境,按需生产的最大的挑战是模拟计算CTP可以承诺交期.准时交货和应对不确定的插单等变化.不仅需要订单 ...

  3. HTML5和CSS3基础教程(第8版)-读书笔记(3)

    第11章 用CSS 进行布局 网站设计主要有两大类型:固定宽度和响应式. 对于固定(fixed)布局,整个页面和每一栏都有基于像素的宽度.顾名思义,无论是使用移动电话和平板电脑等较小的设备查看页面,还 ...

  4. Convert HTML Entities

    function convert(str) { // :) //return str; var HTML_Entities = { '&':'&', '<':'<', '& ...

  5. JS控制鼠标点击事件

    鼠标点击事件就是当鼠标点击元素时,就会出现另一个窗口,类似于百度首页中右上角的“登录”这个按钮,当鼠标点击 登录时,就会出现登录窗口.大体的意思就是这样,直接上代码了,简单易懂. <!DOCTY ...

  6. windbg符号

    Symbol Server (Microsoft): srv*c:\mss*http://msdl.microsoft.com/download/symbols Symbol Server (Citr ...

  7. mvc深入理解

    对于v和c好理解, 对于model分为数据对象模型和业务逻辑模型,一般为一个类,数据对象模型包含对一个具体数据表的相关操作,业务逻辑模型为处理一些业务逻辑.

  8. framebuff 显示子系统

     #include <unistd.h> #include <stdio.h> #include <fcntl.h> #include <linux/fb.h ...

  9. C#签名 NX90

    1.在VS中添加D:\Siemens\NX90\ \NXSigningResource.res文件,右击文件属性,将资源变为 嵌入式资源,即生成方式 2.编译生成exe文件或者dll文件,例如:xxx ...

  10. linux 常用目录

    /bin   执行文件 ls, mv, rm, mkdir, rmdir, gzip, tar, telnet /boot linux核心文件内核 vmlinuz-xxx(Linux 的 Kernel ...