?? topicdao.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 + -