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

📄 typedao.java

📁 新闻系统  此系统是用struts+spring+hibernate开发的 开发环境:eclipse3.1+MyEclipse4.1+tomcat 5.0+oracle 8.1 整个系统实现
💻 JAVA
字号:
package com.news.dao.impl;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.classic.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.news.bean.Newtype;
import com.news.dao.ItypeDao;
import com.news.page.Page;
import com.news.struts.form.AddtypeForm;
import com.news.utils.GetDate;
import com.news.utils.GetId;


public class TypeDao extends HibernateDaoSupport implements ItypeDao{
	
	/**
	 * 增加新的新闻种类
	 */
	public void addType(AddtypeForm addtypeForm){
		Newtype newtype = new Newtype();
		Date d = new Date();
		newtype.setId(GetId.getId());
		newtype.setNewtypetitle(addtypeForm.getNewtypetitle());
		newtype.setTypeauthor(addtypeForm.getTypeauthor());
		newtype.setNewtypedate(GetDate.getDate1(d));
		newtype.setDate2(GetDate.getDate2(d));
		getHibernateTemplate().save(newtype);
	}
	
	/**
	 * 修改新闻种类
	 */
	public void changeType(AddtypeForm addtypeForm){
		String id = addtypeForm.getId();
		Newtype newtype = (Newtype) getHibernateTemplate().load(Newtype.class,id);
		addtypeForm.setId(newtype.getId());
		addtypeForm.setNewtypetitle(newtype.getNewtypetitle());
		addtypeForm.setTypeauthor(newtype.getTypeauthor());
	}
	
	/**
	 * 修改新闻种类完成
	 */
	public void changeFinType(AddtypeForm addtypeForm){
		String id = addtypeForm.getId();
		Newtype newtype = (Newtype) getHibernateTemplate().load(Newtype.class,id);
		newtype.setNewtypetitle(addtypeForm.getNewtypetitle());
		//newtype.setTypeauthor(addtypeForm.getTypeauthor());
		getHibernateTemplate().save(newtype);
	}
	
	/**
	 * 删除新闻种类 删除种类的同时删除他的相关新闻
	 */
	public void delType(AddtypeForm addtypeForm){
		final String id = addtypeForm.getId();
		Newtype newtype = (Newtype)getHibernateTemplate().load(Newtype.class,id);
		String hql = "from News where typeid = ?";
		Session s = getHibernateTemplate().getSessionFactory().openSession();
		Query q = s.createQuery(hql);
		q.setParameter(0,id);
		List list = q.list();
		s.close();
		getHibernateTemplate().delete(newtype);
		getHibernateTemplate().deleteAll(list);
	}
	
	/**
	 * 用于分页的查询
	 */
	public List getList(Page page){
		final Page p = page;
		return getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(org.hibernate.Session s) throws org.hibernate.HibernateException, SQLException {
				Query query = s.createQuery(p.getHql());
				query.setFirstResult(p.getStartRs());
				query.setMaxResults(p.getPerPage());
				List list = query.list();
				return list;
			}
		});
	}

	public int getTotal(String hql) {
			List result = getHibernateTemplate().find(hql);
			if (null != result && !result.isEmpty()) {
				return ((Integer) result.get(0)).intValue();
			} else {
				return 0;
			}
	}
}

⌨️ 快捷键说明

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