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

📄 dbaccessnews.java

📁 这是一个上传下载的原代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.model.dao;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.model.dao.Imp.INewsBack;
import com.model.dao.Imp.INewsClient;
import com.model.entity.Accessories;
import com.model.entity.NewsInfo;
import com.model.form.QueryNewsForm;
import com.model.form.BgqueryForm;
import com.project.util.HibernateUtil;

/**
 *  @author 杨森
 *  创建时间:2007-9-7
 *  描述:新闻数据访问层 实现前台后天更能接口
 *  最后修改时间:
 *  最后修改人:
 */
public class DBAccessNews extends HibernateDaoSupport implements INewsBack,INewsClient{
	public Session session;
	/**
	 * @author YangSen
	 * 新闻后台实现方法
	 * @描述:添加新闻、删除新闻、更新新闻等功能
	 */
	public boolean deleteNews(NewsInfo newsInfo) {
		this.getHibernateTemplate().delete(newsInfo);
		return true;
	}
	public boolean insertNews(NewsInfo newsInfo) {
		this.getHibernateTemplate().save(newsInfo);
		return true;
	}
	public boolean updateNews(NewsInfo newsInfo){
		this.getHibernateTemplate().update(newsInfo);
		return true;
	}
	/**
	 * 更新
	 */
	public boolean updateNewsInfo(String newsId,String kind,String sort){
		//session = this.getSession();
		NewsInfo newsInfo = new NewsInfo();
		try{
			
			newsInfo = (NewsInfo)this.getHibernateTemplate().get(NewsInfo.class, newsId);
			newsInfo.setKind(kind);
			newsInfo.setSort(sort);
			this.getHibernateTemplate().update(newsInfo);
		}catch(HibernateException ex){
			ex.printStackTrace();
			return false;
		}
		return true;
	}
	/**
	 * @author YangSen
	 * @描述 显示新闻详细信息
	 */
	public List selectNews(String newsId){
		return this.getHibernateTemplate().find("from NewsInfo where newsId='" + newsId + "'");
	}
	/**
	 * @author YangSen
	 * @描述 显示新闻详细信息和相关文件下载
	 */
	public Map selectNewsAcc(String newsId) {
		List temp = new ArrayList();
		Map map = new HashMap();
		try{
			session = this.getSession();
			NewsInfo newsInfo = (NewsInfo)session.get(NewsInfo.class, newsId);
			Set set = newsInfo.getAccessoriess();
			Iterator it = set.iterator();
			if(it.hasNext()){
				while(it.hasNext()){
					Accessories acc = new Accessories();
					acc = (Accessories)it.next();
					temp.add(acc);
				}
			}
			map.put("newsInfo", newsInfo);
			map.put("accInfo",temp);
		}catch(HibernateException ex){
			ex.printStackTrace();
		}finally{
			this.release(session);
			HibernateUtil.closeSessio(session);
		}
		return map; 
	}
	/*
	 * 李辉
	 */
	public List selectBackInfor() {
		String sql = "select * from erma_news_info where kind='通知公告' order by createDate desc";
		List temp = null;
		try{
			session = this.getSession();
			Query query = session.createSQLQuery(sql).addEntity("a", NewsInfo.class);
			temp = query.list();
		}catch(HibernateException ex){
			ex.printStackTrace();
		}finally{
			HibernateUtil.closeSessio(session);
		}
		return temp;
	}
	/**
	 * @author YangSen
	 * @描述 后天列表多条件自由查询
	 */
	public Map selectQueryInfo(BgqueryForm form,int pageNum,int pageSize,String role) {
		List list = null;
		Map map = new HashMap();
		DetachedCriteria deat = null;
		try {
			session = this.getSession();
			deat = DetachedCriteria.forClass(NewsInfo.class);
			if(!"".equals(form.getTitle())){
				deat.add(Restrictions.like("title", form.getTitle(),MatchMode.ANYWHERE));
			}if(!"全部".equals(form.getKind())){
				deat.add(Restrictions.eq("kind", form.getKind()));
			}if(!"全部".equals(form.getSort())){
				deat.add(Restrictions.eq("sort", form.getSort()));
			}if(!"".equals(form.getUptime().toString())){
				deat.add(Restrictions.like("createDate", form.getUptime(),MatchMode.ANYWHERE));
			}if(!"".equals(role)){
				String[] name = {"0",role};
				deat.add(Restrictions.in("newsRole", name));
			}
			deat.add(Restrictions.not(Restrictions.eq("sort", "通知公告")));
			deat.addOrder(Order.desc("createDate"));
			list = HibernateUtil.findNews(deat, session,pageNum,pageSize);
			map.put("newsInfo", list.get(1));
			map.put("newsNum", list.get(0));
			}catch(HibernateException ex) {
			ex.printStackTrace();
		}finally{
			this.release(session);
			HibernateUtil.closeSessio(session);
		}
		return map;
	}
	/*
	 * 李辉
	 */
	public Map selectBackInfor(int pageNum,int pageSize) {
		String sql = "select * from erma_news_info where kind='通知公告' order by createDate desc";
		int newsNum = 0;
		List temp = null;
		Map map = new HashMap();
		try{
			session = this.getSession();
			Query query = session.createSQLQuery(sql).addEntity("a", NewsInfo.class);
			newsNum = HibernateUtil.getBgInfoNum(session);
			temp = HibernateUtil.paginationQuery(query, pageNum, pageSize);
		}catch(HibernateException ex){
			ex.printStackTrace();
		}finally{
			this.release(session);
			HibernateUtil.closeSessio(session);
		}
		map.put("newsInfo", temp);
		map.put("newsNum", newsNum);
		return map;
	}
	/**
	 * @author YangSen
	 * @描述 添加新闻和附件 
	 */
	public boolean insertNewsAndAccessories(NewsInfo newsInfo, List acc) {
		try{
			for(int i=0;i < acc.size();i++){
				newsInfo.getAccessoriess().add((Accessories)acc.get(i));
			}
			this.getHibernateTemplate().save(newsInfo);
		}catch(Exception ex){
			ex.printStackTrace();
			return false;
		}
		return true;
	}
	/**
	 * @author YangSen
	 * @描述 添加附件
	 */
	public boolean insertAccessories(String newsId, Accessories acc) {
		try{
			session = this.getSession();
			NewsInfo newsInfo = (NewsInfo)session.get(NewsInfo.class, newsId);
			acc.setNewsInfo(newsInfo);
			this.getHibernateTemplate().save(acc);
		}catch(HibernateException ex){
			ex.printStackTrace();
			return false;
		}finally{
			HibernateUtil.closeSessio(session);
		}
		return true;
	}
	/**
	 * @author YangSen
	 * @描述 查询所有新闻
	 */
	public Map selectNewsrAll(int pageNum,int pageSize,String role) {
		String sql = "select {a.*} from (select * from erma_news_info order by newstop,createDate desc) a where kind<>'通知公告' and kind <> '滚动条' and kind <> '信息服务' and newrole in ('0','"+ role +"')";
		
		int newsNum = 0;
		List temp = null;
		Map map = new HashMap();
		try{
			session = this.getSession();
			Query query = session.createSQLQuery(sql).addEntity("a", NewsInfo.class);
			newsNum = HibernateUtil.getBgNewsNum(session,role);
			temp = HibernateUtil.paginationQuery(query, pageNum, pageSize);
		}catch(HibernateException ex){
			ex.printStackTrace();
		}finally{
			this.release(session);
			HibernateUtil.closeSessio(session);
		}
		map.put("newsInfo", temp);
		map.put("newsNum", newsNum);
		return map;
	}
	
	/*****************************************前台**********************************************
	 * @author YangSen
	 * @param index 分页起始页
	 * @param pageNum 每页显示数
	 * @param role 登录角色
	 * @param flag 标识那个模块在进行分页
	 * @return 根据角色判断显示数据 并加以分页
	 * @描述 综合信息显示模块
	 */
	public Map selectNewsColligateInfo(int pageNum,int pageSize,String role,String flag) {
		List temp = new ArrayList();
		Map map = new HashMap();
		Query query = null;
		String[] name = new String[]{"政策动态","运行动态","综合分析","行业分析","网摘信息"};
		int newsNum = 0;
		try{
			session = this.getSession();
			for(int i=0;i < 5;i++){
				Map tempMap = new HashMap(2);
				newsNum = HibernateUtil.getNewsNum(session,"综合信息",name[i],role);
				if(name[i].equals(flag)){
					query = session.createSQLQuery("select {a.*} from (select * from erma_news_info order by createDate desc ) a where sort='" + name[i] + "' and newrole in ('0','"+ role +"')").addEntity("a", NewsInfo.class);
					temp = HibernateUtil.paginationQuery(query, pageNum, pageSize);
					tempMap.put(name[i], temp);
					tempMap.put("newsNum", newsNum);
				}else{
					query = session.createSQLQuery("select {a.*} from (select * from erma_news_info order by createDate desc ) a where sort='" + name[i] + "' and newrole in ('0','"+ role +"')").addEntity("a", NewsInfo.class);
					temp = HibernateUtil.paginationQuery(query, 0, pageSize);
					tempMap.put(name[i], temp);
					tempMap.put("newsNum", newsNum);
				}
				map.put(name[i], tempMap);
			}

⌨️ 快捷键说明

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