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

📄 topicdao.java

📁 bbs论坛 采用java的Web开发strtus、hibernate
💻 JAVA
字号:
package com.wish.bbs.dao;

import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

import com.wish.bbs.factory.HibernateSessionFactory;
import com.wish.bbs.pojo.Topic;
import com.wish.bbs.pojo.User;

public class TopicDAO {
	Session session=null;
	public void getSession(){
		this.session=new Configuration().configure().buildSessionFactory().openSession();
	}
	
	public void save(Topic topic){
		this.session=HibernateSessionFactory.getSession();
		this.session.save(topic);
		this.session.beginTransaction().commit();
		HibernateSessionFactory.closeSession();
	}
	
	public void delete(String id) {
		this.session=HibernateSessionFactory.getSession();
		String hql = "DELETE FROM Topic WHERE tid=?";
		Query q = this.session.createQuery(hql);
		q.setString(0, id);
		q.executeUpdate();
		this.session.beginTransaction().commit();
		HibernateSessionFactory.closeSession();
	}
	
	public List getAllSubject(){
		this.session=HibernateSessionFactory.getSession();
		List list=null;
		String hql="select new Subject(s.sid,s.name,s.description,s.createdate,s.photo,s.status) From Subject as s";
		Query q=this.session.createQuery(hql);
		list=q.list();
		HibernateSessionFactory.closeSession();
		return list;
	}
	
	public User queryByName(String name) {
		this.session=HibernateSessionFactory.getSession();
		User p = null;
		String hql = "select new User(p.username,p.pwd,p.nickname,p.sex,p.birthday,p.email,p.phone,p.description,p.count,p.status,p.registerdate,p.role) FROM User AS p WHERE p.username=?";
		Query q = this.session.createQuery(hql);
		q.setString(0, name);
		List all = q.list();
		if (all.size() > 0) {
			p = (User) all.get(0);
		}
		HibernateSessionFactory.closeSession();
		return p;
	}
	
	public Topic queryTopicByName(String id) {
		this.session=HibernateSessionFactory.getSession();
		Topic t = null;
		String hql = "select new Topic(t.tid,t.title,t.content,t.createdate,t.iflocked,t.lastmodiedtime,t.writer,t.count,t.user,t.subject,t.tgrade) FROM Topic AS t WHERE t.tid=?";
		Query q = this.session.createQuery(hql);
		q.setString(0, id);
		List all = q.list();
		if (all.size() > 0) {
			t = (Topic) all.get(0);
		}
		HibernateSessionFactory.closeSession();
		return t;
	}
	
	public List getAllTid(String sid) {
		this.session=HibernateSessionFactory.getSession();
		Topic t = null;
		String hql = "select t.tid FROM Topic AS t where t.subject.sid=?";
		Query q = this.session.createQuery(hql);
		q.setString(0, sid);
		List all = q.list();
		HibernateSessionFactory.closeSession();
		return all;
	}
	

	public void update(Topic topic){
		System.out.println(topic.getTid());
		System.out.println(topic.getCount()+"************----------------+++++++++++++++++");
		int n=topic.getCount();
		this.session=HibernateSessionFactory.getSession();
		this.session.update(topic);
		topic.setCount(n);
		this.session.beginTransaction().commit();
		HibernateSessionFactory.closeSession();
	}
	
	public List getJinghua(){
		this.session=HibernateSessionFactory.getSession();
		System.out.println("test000000000000000000");
		String hql="select new Topic(t.tid,t.title,t.content,t.createdate,t.iflocked,t.lastmodiedtime,t.writer,t.count,t.tgrade) from Topic as t order by t.count desc";
		Query q=this.session.createQuery(hql);
		q.setFirstResult(0);
		q.setMaxResults(10);
		System.out.println("test000000000000000000");
		List jinghua=q.list();
		Iterator it=jinghua.iterator();
		HibernateSessionFactory.closeSession();
		return jinghua;
	}
	
	public int getCountItems(String sid){
		int count=0;
		this.session=HibernateSessionFactory.getSession();
		String hql="select count(*) from Topic as t where t.subject.sid=?";
		Query q=this.session.createQuery(hql);
		q.setString(0, sid);
		List l=q.list();
		if(l.size()>0){
			count=(Integer)l.get(0);
		}
		HibernateSessionFactory.closeSession();
		return count;
	}
	
	public List getWeekNewItems(Date date){
		this.session=HibernateSessionFactory.getSession();
		String hql="select new Topic(t.tid,t.title,t.content,t.createdate,t.iflocked,t.lastmodiedtime,t.writer,t.count,t.tgrade) from Topic as t order by t.createdate desc";
		Query q=this.session.createQuery(hql);
		q.setDate(0, date);
		q.setFirstResult(0);
		q.setMaxResults(10);
		List weeklist=q.list();
		HibernateSessionFactory.closeSession();
		return weeklist;
	}
	
	public List getUserItems(String uid){
		List list=null;
		this.session=HibernateSessionFactory.getSession();
		String hql="from Topic as t where t.user.id=?";
		Query q=this.session.createQuery(hql);
		q.setString(0, uid);
		list=q.list();
		HibernateSessionFactory.closeSession();
		return list;
	}
	
	/*   public User(username,pwd,nickname,sex,birthday,email,phone,description,count,status,registerdate,role) {
 Topic(tid,title,content,createdate,iflocked,lastmodiedtime,writer,count)
 

	 * Subject(sid,name,description,createdate,photo,status) {
	 * public void update(Person per) {
		this.session.update(per);
		this.session.beginTransaction().commit();
	}

	public void delete(String id) {
		String hql = "DELETE FROM Person WHERE id=?";
		Query q = this.session.createQuery(hql);
		q.setString(0, id);
		q.executeUpdate();
		this.session.beginTransaction().commit();
	}

	public Person queryById(String id) {
		Person p = null;
		String hql = "FROM Person AS p WHERE p.id=?";
		Query q = this.session.createQuery(hql);
		q.setString(0, id);
		List all = q.list();
		if (all.size() > 0) {
			p = (Person) all.get(0);
		}
		return p;
	}
*/
	public void closeSession(){
		this.session.close();
	}
}

⌨️ 快捷键说明

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