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. .Net的错误机制

    //优先级1    protected void Page_Error(object sender, EventArgs e)     {        Exception objErr = Serv ...

  2. xUtils框架的使用

    xUtils简介 xUtils 包含了很多实用的android工具,xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有 ...

  3. ffmpeg未整理好,有时间整理下

    v  容器(Container) v  容器就是一种文件(封装)格式,比如flv.mkv.ts.mp4.rmvb.avi等.包含下面5种流以及文件头信息. v  流(Stream) v  是一种视频数 ...

  4. [html]兼容 IE6 IE7 的简单网页框架

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. (转)C#中两个问号和一个问号 ??

    小问题难倒很多人.今天发现了这个问题,搜了很长时间才看到记录下. 实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.For ...

  6. Java 技术体系图

    Java 程序员 高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变 参数.可变返回类型.增强循环.静态导入 核心编程 IO.多线程.实体类. 集合类.正则表达式. XML 和属性文件 图形编 ...

  7. 【随笔】ARP和RARP

    ARP协议是什么? ARP协议是"Address Resolution Protocol"(地址解析协议)的缩写.在局域网中,网络中实际传输的是"帧",帧里面是 ...

  8. mongodb+pycharm使用报错,无法往mongodb存文件

    1 mongodb必须在启用状态下,启用如下 C:/mongodb/bin>mongod --dbpath C:\mongodb\data\db 不能关闭cmd 2 其他问题,貌似在Connec ...

  9. 谷歌身份验证器加强Linux帐户安全

    下载 Google的身份验证模块 # wget https://google-authenticator.googlecode.com/files/libpam-google-authenticato ...

  10. python3中的zip

    在 python2 中zip可以将两个列表并入一个元组列表,如: a = [1,2,3,4] b = [5,6,7,8] c = zip(a,b) 结果:c [(1,5),(2,6),(3,7),(4 ...