/* * (non-Javadoc) * * @see * com.harmony.framework.dao.mybatis.IBaseGenericDAO#findListBy(java.lang * .Object, java.lang.String, java.lang.String) */ @SuppressWarnings("unchecked") public List<T> findListBy(T param, String sort, String dir) { Map<String, Object> paramMap = null; try { paramMap = BeanMapUtil.bean2Map(param); } catch (Exception e) { throw new BaseDaoException("获取参数失败", e); } // Where过滤条件 // paramMap.put("param", param); // 排序条件 if (sort != null) { // 排序字段不为空,过滤其中可能存在的非法字符 sort = filterIllegalChars(sort, ILLEGAL_CHARS_FOR_SQL); } if (StringUtils.isEmpty(sort) || StringUtils.isEmpty(dir)) { // paramMap.put("sort", null); // paramMap.put("dir", null); } else { paramMap.put(SORT_NAME, sort); paramMap.put(DIR_NAME, dir); } List<T> lst = this.getSqlSession().selectList(getSqlName(SQL_FINDLISTBY), paramMap); return lst; }
/* * (non-Javadoc) * * @see * com.harmony.framework.dao.mybatis.IBaseGenericDAO#getCountBy(java.lang * .Object) */ @SuppressWarnings("unchecked") public Integer getCountBy(T param) { Map<String, Object> paramMap = null; try { paramMap = BeanMapUtil.bean2Map(param); } catch (Exception e) { throw new BaseDaoException("获取参数失败", e); } // paramMap.put("param", param); return (Integer) this.getSqlSession().selectOne(getSqlName(SQL_GETCOUNTBY), paramMap); }
/* * (non-Javadoc) * * @see * com.harmony.framework.dao.mybatis.IBaseGenericDAO#findPageBy(java.lang * .Object, int, int, java.lang.String, java.lang.String) */ @SuppressWarnings("unchecked") public IGenericPage<T> findPageBy(T param, int pageNo, int pageSize, String sort, String dir) { // 获取满足条件的记录总数,没有记录时返回空页数据 int count = getCountBy(param); if (count < 1) { return GenericDefaultPage.emptyPage(); } Map<String, Object> paramMap = null; try { paramMap = BeanMapUtil.bean2Map(param); } catch (Exception e) { throw new BaseDaoException("获取参数失败", e); } // Where过滤条件 // paramMap.put("param", param); // 排序条件 if (sort != null) { // 排序字段不为空,过滤其中可能存在的非法字符 sort = filterIllegalChars(sort, ILLEGAL_CHARS_FOR_SQL); } if (StringUtils.isEmpty(sort) || StringUtils.isEmpty(dir)) { // paramMap.put("sort", null); // paramMap.put("dir", null); } else { paramMap.put(SORT_NAME, sort); paramMap.put(DIR_NAME, dir); } // 分页条件 int start = GenericDefaultPage.getStartOfPage(pageNo, pageSize) - 1; RowBounds rowBound = new RowBounds(start, pageSize); List<T> lst = this.getSqlSession().selectList(getSqlName(SQL_FINDPAGEBY), paramMap, rowBound); return new GenericDefaultPage<T>(pageNo, pageSize, lst, count); }