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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python NameError: name ‘raw_input’ is not defined

    python NameError: name ‘raw_input’ is not defined

    2021年10月21日
    47
  • 版本控制——总结[通俗易懂]

    版本控制——总结[通俗易懂]1.定义版本控制(Revisioncontrol)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。2.原理版本控制透过文档控制(documentationco

    2022年8月2日
    4
  • javaSocket传输模式

    javaSocket传输模式Sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样.到底用哪种模式是邮应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一些.比如文件服务器需要他们

    2022年6月24日
    24
  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    9
  • 【病毒取样】取证分析之逆向服务器提权开启3389远程连接工具[通俗易懂]

    【病毒取样】取证分析之逆向服务器提权开启3389远程连接工具[通俗易懂]通常用作黑客攻击网站拿到服务器Webshell提升站点服务器权限后,对站点和数据库服务器两台服务器分离的情况,延申权限到数据库服务器。开启数据库服务器的3389远程连接。1、程序信息MD5值:58946C2FE49563591EBE0D61F457DE0A大小:178KB(182,526字节)病毒家族名:Virus.Win32.Parite.a分析黑客小工具是怎么实现的,…

    2022年7月25日
    6
  • stopwords.txt中英文数据集,四川大学机器智能实验室停用词库,哈工大停用词表,中文停用词表,百度停用词表百度网盘下载

    stopwords.txt中英文数据集,四川大学机器智能实验室停用词库,哈工大停用词表,中文停用词表,百度停用词表百度网盘下载今天找stopwords.txt数据集找了好长时间,真是气死了,好多都是需要金币,这数据集不是应该共享的么。故搜集了一些数据集,主要包括四川大学机器智能实验室停用词库,哈工大停用词表,中文停用词表,百度停用词表和一些其他的stopword.text。最后用python将这些数据集合并成一个完整的数据集stopword.txt。百度网盘地址在链接:https://pan.baidu.com/s/1KBkOzYk-wRYaWno6HSOE9g提取码:4sm6文件不是很大可以直接下载。下面是详细的目录。

    2022年6月24日
    26

发表回复

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

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