zoukankan      html  css  js  c++  java
  • 查询数据时,根据不同查询条件的情况,重载方法的一种写法(不知道怎么描述了!!!!)

    做了一小段用友的项目,看到的写法,记录一下,供参考:

        /**
         * 不带条件查询,也即查询获得所有的VO对象列表,不带翻页,默认排序
         *
         * 
    @return 查询到的VO列表
         
    */
        public List queryByCondition() {
            return queryByCondition(null);
        }

        /**
         * 通过查询条件获得所有的VO对象列表,不带翻页,默认排序
         * 
         * 
    @param queryCondition 查询条件
         * 
    @return 查询到的VO列表
         
    */
        public List queryByCondition(String queryCondition) {
            return queryByCondition(queryCondition, null);
        }

        /**
         * 通过查询条件获得所有的VO对象列表,不带翻页,带排序字符
         * 
         * 
    @param queryCondition 查询条件
         * 
    @param orderStr 排序字符
         * 
    @return 查询到的VO列表
         
    */
        public List queryByCondition(String queryCondition, String orderStr) {
            return queryByCondition(-1, -1, queryCondition, orderStr);
        }

        /**
         * 通过查询条件获得所有的VO对象列表,带翻页,默认排序
         * 
         * 
    @param no 当前页数
         * 
    @param size 每页记录数
         * 
    @param queryCondition 查询条件
         * 
    @return 查询到的VO列表
         
    */
        public List queryByCondition(int no, int size, String queryCondition) {
            return queryByCondition(no, size, queryCondition, null);
        }
        
            /**
         * 通过查询条件获得所有的VO对象列表,带翻页,带排序字符
         * 
         * 
    @param no 当前页数
         * 
    @param size 每页记录数
         * 
    @param queryCondition 查询条件
         * 
    @param orderStr 排序字符 
         * 
    @return 查询到的VO列表
         
    */
        public List queryByCondition(int no, int size, String queryCondition, String orderStr) {
            String strsql = SQL_QUERY_ALL + DEFAULT_QUERY_WHERE_ENABLE;
            if (queryCondition != null && queryCondition.length() > 0 && queryCondition.trim().length() > 0) {
                strsql += " AND " + queryCondition; //where后加上查询条件
            }
            if(orderStr == null ) {
                strsql += ORDER_BY_SYMBOL + DESC_ORDER_CODE;
            } else {
                strsql += ORDER_BY_SYMBOL + orderStr;
            }
            if(no <= 0 || size <= 0) {
                return query(strsql, new RowMapper() {
                    public Object mapRow(ResultSet rs, int i) throws SQLException {
                        ProjConfigurationListVo vo = new ProjConfigurationListVo();
                        Helper.populate(vo, rs);
                        return vo;
                    }
                });
            } else {
                return query(strsql, new RowMapper() {
                    public Object mapRow(ResultSet rs, int i) throws SQLException {
                        ProjConfigurationListVo vo = new ProjConfigurationListVo();
                        Helper.populate(vo, rs);
                        return vo;
                    }
                }, (no - 1) * size, size); 
            }
        }

     
  • 相关阅读:
    窗口吸附
    c++中冒号和双冒号的用法
    C++Builder中注册表的操作
    C++ Builder VCL库函数简介
    C++ Builder 2007中应用数据库SQLite(转载)
    如何使用C++获取 进程的 绝对路径
    正则表达式入门
    为什么要用 C# 来作为您的首选编程语言
    CSharp交换函数swap的三种实现方法
    告别码农,成为真正的程序员
  • 原文地址:https://www.cnblogs.com/allen76615519/p/2479225.html
Copyright © 2011-2022 走看看