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


相关推荐

  • Vue生命周期(11个钩子函数)「建议收藏」

    Vue生命周期生命周期初识生命周期详解(八个钩子函数)生命周期生命周期:Vue是一个构造函数,当执行执行这个函数时,相当于初始化vue实例;在创建实例过程中,需要设置数据监听,编译模板,将实例挂载到DOM上,数据更新能够让DOM也更新,在这个初始化,又会不同阶段默认调用一些函数执行,这些函数就是生命周期的钩子函数;生命周期钩子函数生命周期钩子函数,让够让咱们…

    2022年4月6日
    143
  • 自编R计算MSE(均方误差)[通俗易懂]

    自编R计算MSE(均方误差)[通俗易懂]基本原理1.生成关于x1~N(5,3),x2~N(100,10),error~N(0,1)2.自己定一个实际对线性回归模型,并计算得到真实的yy=1.5+0.8×1+1.8×2+error3.对x1,x2进行线性拟合,当然这里也可以自写函数用最小二乘法原理,进行参数对估计4.提取的每一个beta1,beta25.计算他的均方误差,计算公式代码k=100000#定义实验次数beta_x1=c()#定义空列beta_x2=c()for(iin1:k){

    2022年9月1日
    0
  • 射频RC522一些知识「建议收藏」

    射频RC522一些知识「建议收藏」我的测试为RC522的读写模块和S50的射频卡:一.S50的射频卡有如下特点:1. 分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位2. 每个扇区有独立的一组密码及访问控制3. 每张卡有唯一序列号,为32位 二.射频卡的介绍1、M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,

    2022年7月26日
    12
  • Attribute meta-data#UMENG_CHANNEL@value at AndroidManifest.xml requires a placeholder substitution b

    Attribute meta-data#UMENG_CHANNEL@value at AndroidManifest.xml requires a placeholder substitution b

    2021年10月1日
    88
  • 使用 redis 连接指定端口的 redis 数据库

    使用 redis 连接指定端口的 redis 数据库

    2022年2月17日
    38
  • 数据库表设计之用户权限表[通俗易懂]

    数据库表设计之用户权限表[通俗易懂]需求分析1、管理员给用户分配权限,权限数据写到数据库中。2、认证服务在进行用户认证时从数据库读取用户的权限数据(动态数据)user:用户表,存储了系统用户信息,用户类型包括:学生、老师、管理员等role:角色表,存储了系统的角色信息,学生、老师、教学管理员、系统管理员等user_role:用户角色表,一个用户可拥有多个角色,一个角色可被多个用户所拥有menu:记录了菜单及菜单下的权限role_permission:角色权限表,一个角色可拥有多个权限,一个权限可被多个角色所拥有…

    2022年9月29日
    0

发表回复

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

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