zoukankan      html  css  js  c++  java
  • 多条件查询

    protected NamedParameterJdbcTemplate jdbcTemplate;

    public
    DataGrid query(QueryCriteria qc) { Class<RivGeneralConfig> clazz = RivGeneralConfig.class; Integer currentPage = null; Integer pageSize = null; List<Object> params = new ArrayList<Object>(); String sql = " select " + SqlUtils.buildProjectionClause(clazz) + " from riv_general_config gc "; String whereClause = ""; if (qc != null) { Map<String, Object> criterias = qc.getCriterias(); if (criterias != null) { String scope = (String) criterias.get("gcScope"); if(scope != null && scope.equalsIgnoreCase("tx")) { whereClause = " where gc.gc_scope = ? or gc.gc_scope = ? or gc.gc_scope = ? or gc.gc_scope = ? "; params.add("tx_in"); params.add("tx_out"); params.add("tx_mat_status_change"); params.add("tx_inventory"); } else { if(scope != null) { whereClause = " where gc.gc_scope = ? "; params.add(scope); } } } } sql = sql + whereClause ; String countSql = " select count(*) from riv_general_config gc "; countSql = countSql + whereClause ; Integer totalCount = jdbcTemplate.getJdbcOperations().queryForObject(countSql, params.toArray(), Integer.class); pageSize = totalCount; currentPage = 1; StringBuilder sb = new StringBuilder(); sb.append(sql); sb.append(" limit " + (currentPage - 1) * pageSize + " , " + pageSize); List<RivGeneralConfig> rows = new ArrayList<RivGeneralConfig>(); rows = jdbcTemplate.getJdbcOperations().query(sb.toString(), params.toArray(), new BeanPropertyRowMapper<RivGeneralConfig>(clazz)); DataGrid dg = new DataGrid(); dg.setCurrentPage(currentPage); dg.setPageSize(pageSize); dg.setRows(rows); dg.setTotal(totalCount.longValue()); return dg; }
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Collections;
    
    
    @SuppressWarnings("rawtypes")
    public class DataGrid {
    
        // total count
        private Long total = 0L;
    
        // result set
        private Collection rows = new ArrayList();
    
        // current page
        private Integer currentPage;
    
        // page size
        private Integer pageSize;
    
        public Integer getCurrentPage() {
            return currentPage;
        }
    
        public void setCurrentPage(Integer currentPage) {
            this.currentPage = currentPage;
        }
    
        public Integer getPageSize() {
            return pageSize;
        }
    
        public void setPageSize(Integer pageSize) {
            this.pageSize = pageSize;
        }
    
        public Long getTotal() {
            return total;
        }
    
        public void setTotal(Long total) {
            this.total = total;
        }
    
        /**
         * @return the rows
         */
        public Collection getRows() {
            return rows;
        }
    
        /**
         * @param rows the rows to set
         */
        public void setRows(Collection rows) {
            this.rows = rows;
        }
        
        public static DataGrid constructEmptyDataGrid(PageProxy pageProxy) {
            
            DataGrid dg = new DataGrid();
            if(pageProxy != null) {
                dg.setCurrentPage(pageProxy.getCurrentPage() == null ? 10 : pageProxy.getCurrentPage() );
                dg.setPageSize(pageProxy.getPageSize() == null ? 1 : pageProxy.getPageSize());
            } else {
                dg.setCurrentPage(10);
                dg.setPageSize(1);
            }
            
            dg.setTotal(0L);
            dg.setRows(Collections.EMPTY_LIST);
            return dg;
        }
    }
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    
    public class QueryCriteria {
        
        /**order proxies */
        private List<OrderProxy> orderProxies = new ArrayList<OrderProxy>();
        
        /**page proxy */
        private PageProxy pageProxy;
        
        /** criterias */
        private Map<String, Object> criterias = new HashMap<String, Object>();
    
        public List<OrderProxy> getOrderProxies() {
            return orderProxies;
        }
    
        public void setOrderProxies(List<OrderProxy> orderProxies) {
            this.orderProxies = orderProxies;
        }
    
        public PageProxy getPageProxy() {
            return pageProxy;
        }
    
        public void setPageProxy(PageProxy pageProxy) {
            this.pageProxy = pageProxy;
        }
    
        public Map<String, Object> getCriterias() {
            return criterias;
        }
    
        public void setCriterias(Map<String, Object> criterias) {
            this.criterias = criterias;
        }
        
    }
    public class OrderProxy {
    
        // ASC ORDER
        public static final String ASC = "ASC";
    
        // DESC ORDER
        public static final String DESC = "DESC";
    
        /** order field */
        private String orderField;
    
        /** order indicator */
        private String orderIndicator;
    
        public String getOrderField() {
            return orderField;
        }
    
        public void setOrderField(String orderField) {
            this.orderField = orderField;
        }
    
        public String getOrderIndicator() {
            return orderIndicator;
        }
    
        public void setOrderIndicator(String orderIndicator) {
            this.orderIndicator = orderIndicator;
        }
    
    }
    public class PageProxy {
        
        /**page size*/
        private Integer pageSize;
        
        /**current page*/
        private Integer currentPage;
    
        public Integer getPageSize() {
            return pageSize;
        }
    
        public void setPageSize(Integer pageSize) {
            this.pageSize = pageSize;
        }
    
        public Integer getCurrentPage() {
            return currentPage;
        }
    
        public void setCurrentPage(Integer currentPage) {
            this.currentPage = currentPage;
        }
    }
  • 相关阅读:
    【C# 代码小技巧】巧用 linq select 实现遍历集合返回元素 index
    [转载] redis 学习
    Html5 Canvas斗地主游戏
    K-近邻算法(KNN)
    Sql 把Xml字符串转换成一张表
    Asp.Net Mvc4分页,扩展HtmlHelper类
    SQL 分割字符串
    http://q.cnblogs.com/q/54251/
    读强化学习论文之MADDPG
    【回归】记Paddle强化学习训练营
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/6585970.html
Copyright © 2011-2022 走看看