src/com/sys/common/BaseDAO.java

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.sys.common;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Example;
import org.hibernate.criterion.Projections;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.sys.admin.entity.SysAdmin;
import com.sys.log.LogFactory;
import com.sys.web.fenye.util.DefaultQueryCondition;
import com.sys.web.fenye.util.Page;

@Transactional
public abstract class BaseDAO<T, PK extends Serializable> implements IBaseDAO {

	@Override
	public Page getPagersByExample(DefaultQueryCondition condition) {
		Page<T> pager = null;
		try {
			Criteria criteria = this.getSession().createCriteria(this.getReferenceClass());
			if (condition.getCondition() != null) {
				criteria.add(Example.create(condition.getCondition()).enableLike());
			}
			int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();
			criteria.setProjection(null);
			criteria.setFirstResult(condition.getFirstResult());
			criteria.setMaxResults(condition.getPageSize());
			List<T> result = criteria.list();
			pager = new Page<T>(result, totalCount, condition.getPageIndex(), condition.getPageSize());
		} catch (Exception e) {
			LogFactory.getLogger().error(e);
		}
		return pager;
	}

	@Override
	public List search(DefaultQueryCondition condition) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Page<T> getPagers(DefaultQueryCondition condition, Criterion... criterions) {
		Page<T> pager = null;
		try {
			Criteria criteria = this.getSession().createCriteria(this.getReferenceClass());
			if (criterions != null) {
				for (Criterion criterion : criterions) {
					if (criterion != null) {
						criteria.add(criterion);
					}
				}
后面还有 82 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。