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)

{

if(isResetPage1==1)

resetPageTo1();

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

elmtC.findByPropertyss_page(mp ,function(data){

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

bindTableData(data.rows);

setPageInfo({"total":data.total,"pageSize":10});

});

}

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. oracle数据库如何写翻页_ORACLE数据库分页查询/翻页 最佳实践

    ORACLE数据库分页查询/翻页 最佳实践 一.示例数据: Select Count(*) From dba_objects ; ----------------------------------- ...

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

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

  3. SpringMVC响应使用案例(带数据页面跳转,快捷访问路径,返回json数据)

    页面跳转 转发(默认) @RequestMapping("/showPage1") public String showPage1() {System.out.println(&q ...

  4. (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题

    (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题 SpringMVC.xml中加 <!-- 配置消息转换器(解决中文乱码问题)--><mvc:annotati ...

  5. java后台对查询到的商品列表按店铺分组并返回json数据

    List<ShoppingCart> cartList = shoppingService.getCartList(userId);//这是从数据库获取的购物车商品列表 Map<In ...

  6. php 查询数据库返回json数据

    // 设置返回json格式数据 header('content-type:application/json;charset=utf8'); //连接数据库 $link = mysql_connect( ...

  7. python中怎么设置默认值_在Python中设置应该是列表的参数的默认值的最佳实践?...

    我有一个将列表作为参数的python函数.如果我将参数的默认值设置为如下空列表: def func(items=[]): print items 皮林特会告诉我"危险的默认值[]作为参数&q ...

  8. 微信公众号最佳实践 ( 7.2)交通信息查询

    交通信息查询 交通信息是是属于公共信息,已经有很多大型网站提供了响应的查询和查看功能,但是这些信息的后台数据往往并不对外开放,一是因为获取成本高,二是怕添加一个新的竞争对手,但好在很多第三方网站提供了 ...

  9. PHP封装一个手机号归属地查询接口,Ctrl CV就可以用,返回json数据

    PHP归属地查询接口 <?php //200->正常;201手机号不正确;202手机号无数据 header("Access-Control-Allow-Origin:*" ...

  10. html页面返回json数据为空,在Html页面中,展示出Json格式数据,且保持缩进格式...

    1.定义一个标签,给个id值. 2.用js定义一个json字符串,用jQuery给id,赋值 var songResJson = { "id" : "b52c96bea3 ...

最新文章

  1. python表单防重复提交_防止表单重复提交的几种策略
  2. html5复选框样式,11种炫酷CSS3复选框checkbox样式美化效果
  3. Xcode代码文件模板
  4. vivo 2019:关于企业文化如何影响手机企业发展的三个追问
  5. anaconda使用记录
  6. flex 解析json文件_使用 Python 处理 JSON 格式的数据 | Linux 中国
  7. 《凡人修仙传》中打斗场景(c++多态实现)
  8. composer 更改为中国镜像
  9. linux建立动态库链接,Linux动态链接库.so文件的创建与使用
  10. Docker学习总结(38)——开发环境中使用docker run安装Redis再总结
  11. python数组就是列表吗,Python:数组与列表
  12. 安卓设置菊花动画_华为手机必须调整的4个默认设置,让手机流畅到飞起,用到2035年...
  13. 以Graphicslayer为管理组来管理Element.
  14. 绿联USB转RS-485/422转换器
  15. JN5169 Bootload 烧录过程和DIY烧录程序(一)
  16. U盘拔出时总是提示有程序正在使用?
  17. 6-1 插入法建立有序链表
  18. 微信公众号开发(一) 微信网页授权登录
  19. qcustomplot x轴当前时间_Qt使用QCustomPlot开发
  20. 带你用selenium IDE的录制第一个自动化测试脚本

热门文章

  1. kafka报错 WARN Session 0x0 for server null, unexpected error, closing socket connection
  2. JS魔法堂:元素克隆、剪切技术研究
  3. Ubuntu下hadoop2.4搭建集群(单机模式)
  4. Centos7+LVS+Keepalived实现Exchange2016高可用性
  5. ios 纯代码 图标排列
  6. LVS负载均衡群集之NAT模型DR模型
  7. 带有权限设置的Excel协同编辑
  8. Springboot druid 监控sql语句
  9. python基础和软件测试
  10. HNOI2013 切糕