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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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

我要啦免费统计

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116833.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月14日 下午10:00
下一篇 2022年1月14日 下午11:00


相关推荐

  • Python学习总结之基础语法知识汇总(一)

    Python学习总结之基础语法知识汇总(一)本文章包含了Python一系列基本知识,其中包括:基本数据类型(整数,浮点数,复数,字符串);分支语句;异常处理;函数;局部变量与全局变量;递归;组合数据类型(集合,元组,列表,字典);文件基本操作基本数据类型一,数字类型及操作(1)整数类型可正可负,无取值范围限制pow(x,y):计算x^y(2)浮点数类型存在不确定尾数 rou…

    2022年6月24日
    44
  • 可视化报表开发_可视化数据报表

    可视化报表开发_可视化数据报表当今时代,传统的报表工具已经很难满足人们对于数据可视化的期望了,而大数据处理工具却可以为人们提供了更多的选择。微金时代的RDP报表工具操作简便,可直接上手使用,无需编码,就可以制作各种复杂、炫酷的报表。RDP报表工具表格式报表功能和亮点根据中国特色的报表需求,研发出的轻量级的企业级Web报表工具。仅需简单拖拽式配置,即可制作出各种复杂、炫酷的报表。支持中国式复杂报表的处理,例如:Excel清单报表、交叉报表、分组报表、多源分片式报表、分块报表、表单报表、图形报表、回写报表、假设分析报表、二次.

    2022年10月2日
    7
  • hibernate与mybatis的区别比较_mybatis中

    hibernate与mybatis的区别比较_mybatis中为方便以后准备面试,把一些常用的技术整理出来,会不定期更新。首先简单介绍下两者的概念:Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间的映射关系。下面具体从几个方面说一下两者的区别:1.两者最大的区

    2025年10月20日
    4
  • cass9.1快捷键怎么设置_cass9.1格式刷快捷键命令

    cass9.1快捷键怎么设置_cass9.1格式刷快捷键命令在CAD操作中我们常用一些快捷键来代替鼠标操作从而提高绘图效率,以下是小编为大家整理的常用快捷键大全,涵盖图文版、文字版、键盘版。图文版:文字版:一、常用功能键F1:获取帮助F2:实现作图窗和文本窗口的切换F3:控制是否实现对象自动捕捉F4:数字化仪控制F5:等轴测平面切换F6:控制状态行上坐标的显示方式F7:栅格显示模式控制F8:正交模式控制F9:栅格捕捉模式控制F10:极轴模…

    2022年4月19日
    287
  • 俯瞰开源工作流引擎Activiti「建议收藏」

    俯瞰开源工作流引擎Activiti「建议收藏」Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,采用了宽松的ApacheLicence2.0开源协议,因此Activiti一经推出,就得到了开源社区的大力支持,在开源社区的支持下,Activiti吸引了很多的工作流专家参与到该项目中,并且也促使了Activiti在工作流领域的创新。

    2022年7月27日
    11
  • 【杀软】Win7内置恶意软件删除工具——MRT

    【杀软】Win7内置恶意软件删除工具——MRTWindows7的WindowsDefender是一款具备实时监控能力的专业恶意软件清除工具。可能许多人将其禁用了,换用其他具备恶意软件清除能力的世界顶级杀软了(比如说笔者就用的NOD32,对恶意软件查杀能力甚是强悍)。如果你不忍WindowsDefender占用大量内存,又不舍得丢弃微软提供的服务,如何是好?有一个折中的方案:使用与其具有相同资源库的MRT…

    2022年6月24日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号