⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicdao.java

📁 hr伯乐管理系统!非常适合java学员做学习参考用!是用集成框架开发的Struts+hrbernet+Spring 开发的
💻 JAVA
字号:
package org.better.hr.dao;

import java.util.List;

import org.better.hr.comm.page.PageResult;
import org.better.hr.entity.ConfigPrimaryKey;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class BasicDao extends HibernateDaoSupport {
	/**
	 * 根据ID号返回该对象
	 * @param id 主键id号
	 * @return Object 对象
	 */
	public Object load(Class clazz,java.io.Serializable id)
	{
		return this.getHibernateTemplate().get(clazz, id);
	}
	
	/**
	 * 保存方法
	 * @param item Object对象
	 */
	public void add(Object item) {	
		
		this.getHibernateTemplate().save(item);
	}
	
	/**
	 * 更新方法
	 * @param item Object对象
	 */
	public void update(Object item)
	{
		this.getHibernateTemplate().update(item);
	}
	
	/**
	 * 删除方法
	 * @param id 主键序列号
	 */
	public void delete(Class clazz,java.io.Serializable key)
	{
		this.getHibernateTemplate().delete(this.load(clazz,key));
	}
	
	/**
	 * 删除方法,重载
	 * @param item Object对象
	 */
	public void delete(Object item)
	{
		this.getHibernateTemplate().delete(item);
	}
	
	/**
	 * 查
	 * @param hql
	 * @param pageResult
	 */
	public void list(String hql, PageResult pageResult) {			
			if (null==hql)
			{
				return ;
			}
			Query query = this.getSession().createQuery(hql);
			query.setFirstResult(pageResult.getFirstRec());
			query.setMaxResults(pageResult.getPageSize());
			List ret = query.list();
			pageResult.setList(ret);

			String queryString = "";
			if (hql.toUpperCase().indexOf("SELECT") != -1) {
				int i = query.getQueryString().toUpperCase()
						.indexOf("FROM");
				queryString = "Select count(*) "
						+ hql.substring(i,hql.length());
			} else {
				queryString = "Select count(*) " + hql;
			}
			Query cquery = this.getSession().createQuery(queryString);
			cquery.setCacheable(true);
			int recTotal = ((Integer)cquery.iterate().next()).intValue();
			
			pageResult.setRecTotal(recTotal);
	}
	
	/**
	 * 根据关键字进行查询
	 * @param key 关键字
	 * @return
	 */
	public String listByKey(String ClassName,String key)
	{
		//将所需表的有效关键字查出
		String sql = " from ConfigPrimaryKey where primaryKeyStatus = 1 and primaryKeyTable = '" + ClassName + "'";
		List list = this.getHibernateTemplate().find(sql);
		
		String listSql = "from " + ClassName + " where 1 = 2 ";
		for(int i=0; i<list.size();i++)
		{
			ConfigPrimaryKey keys = (ConfigPrimaryKey)list.get(i);
			listSql += "or " + keys.getPrimaryKey() + " like '%" + key + "%'";
		}
		
		if(listSql.indexOf("or") != -1)
		{
			int i = listSql.indexOf("or");
			listSql = "from " + ClassName + " where 1 = 2 or (" + listSql.substring(i+2, listSql.length()) + ")";
		}
		return listSql;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -