package com.pb.hibernate.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.pb.hibernate.po.FilmInfo;
import com.pb.hibernate.po.FilmType;
import com.pb.hibernate.util.HibernateUtil;
public class FilmDao {
/*
* 查询全部电影信息的方法
*/
public List<FilmInfo>findAll(){
Session session=HibernateUtil.getSessionFactory().openSession();
Query query=session.createQuery("from FilmInfo order by filmId");
List<FilmInfo>list=query.list();
session.close();
return list;
}
/*
* 查询所有电影类型名称的方法
*/
public List<FilmType>findTypeName(){
Session session=HibernateUtil.getSessionFactory().openSession();
Query query=session.createQuery("from FilmType");
List<FilmType>list=query.list();
session.close();
return list;
}
/*
* 查询指定条件的电影
*/
public List<FilmInfo>findByRestriction(String filmName,int typeId,String actor,String director,double price1,double price2){
Session session=HibernateUtil.getSessionFactory().openSession();
Criteria criteria=session.createCriteria(FilmInfo.class);
if(!filmName.equals("")){
criteria.add(Restrictions.like("filmName","%"+filmName+"%"));
}
if(typeId!=0){
criteria.add(Restrictions.eq("filmType.typeId",typeId));
}
if(!actor.equals("")){
criteria.add(Restrictions.like("actor","%"+actor+"%"));
}
if(!director.equals("")){
criteria.add(Restrictions.like("director","%"+director+"%"));
}
if(price1!=0&&price2!=0){
criteria.add(Restrictions.between("ticketPrice",price1,price2));
}
criteria.addOrder(Order.asc("filmId"));
List<FilmInfo>result=criteria.list();
session.close();
return result;
}
/*
* 发布电影信息
*/
public void uploadFilm(FilmInfo filmInfo){
Session session=HibernateUtil.getSessionFactory().openSession();
try {
Transaction tr=session.beginTransaction();
session.save(filmInfo);
tr.commit();
System.out.println("发布电影信息成功!");
} catch (HibernateException e) {
System.out.println("发布电影信息失败!");
}finally{
session.close();
}
}
}
- 1
- 2
- 3
- 4
前往页