• SSH动态查询封装接口介绍


                SSH动态查询封装接口介绍

     

    1.查询记录总条数

     

     public int count(Class c,Object[][] eq,Object[][] like,String[] group,String[] asc,String[] desc);

     

        2.分页动态查询记录

    public List<?> search(Class c,Object[][] eq,Object[][] like,String[] group,String[] asc,String[] desc,int start, int limit);

     

    首先介绍两个查询接口的公有参数:

         Class c : bean.class,即映射到你查询的表结构的实体类

         Object[][] eq : 精确查询的参数namevalue集合

            {{name,”小明”},{code,”TB321”},...}

         Object[][] like :模糊查询的参数namevalue集合

            {{startTime,”2013-10”},{name,”小”},...}

         String[] group :要分组的参数name列表

         String[] asc :对查询结果升序排列所需的参数name集合

         String[] desc :对查询结果降序排列所需的参数name集合

     

         这里提到的name非数据库字段名,而是bean的属性名,当然如果存在表关联,

    以用户和职位为例,User 和 Dept关联,存在Dept dept; 

    则如果要查询职位名为xxx的所有Username可填写为 dept.nameeq某一集合可填写为{”dept.name”,”xxx”}

      

    分页动态查询记录独有的接口参数:

         int start 从第几条记录开始查询 

         int limit 本页查询的最大记录数

     

    参数列表除Class c不可为空外,其余参数皆可为空。对集合参数中的不法数据(子集合填写不完整、参数为null or “”实现自动过滤)

     

    根据你的不同需求使用接口相应参数,以合同表为例:

         精确查询:根据合同编号、合同名称、客户代表等精确信息实现查询

         模糊查询:根据合同签订、生效、失效、制表年、月、日等模糊时间,部分合同名称等不精确参数实现查询

         组合查询:根据页面需求在action获取相应参数(页面参数统一使用String接收,避免int出现默认为0的情况发生。在action使用Object对所获value进行统一类型设置),根据不同的参数进行单个、多个条件的组合查询。

     

     意义:简化代码,所有类(表结构)的查询都可组合使用这两个接口。

         便于维护,一旦查询需求有改动,只需更改页面参数和action接收参数即可 

    不足:未实现比较范围(> = < between and)的查找(可按需实现)以及对一些参数(数量总计、平均值)的特殊查找,此类查询非公有故弃之.

       下一章介绍接口的具体实现

  • 相关阅读:
    考试中一元三次方程的解法
    变限积分求导公式--加上自己理解
    柯西中值定理
    sec x的积分及注意事项
    线性代数
    IntelliJ IDEA无法新建类解决办法
    idea中Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.
    Windows 64位下安装Redis 以及 可视化工具Redis Desktop Manager的安装和使用
    使用@Param注解
    关于在方法里面使用泛型public static <T> T
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3473036.html
Copyright © 2020-2023  润新知