天天看点

Hibernate 还算完整的通用DAO类

package dao; 

import org.hibernate.Session; 

import org.hibernate.Transaction; 

import org.hibernate.Query; 

import po.HibernateSessionFactory; 

import po.StuInfo; 

import po.StuMarks; 

import java.util.*; 

public class Dao { 

public List query1(){ 

  Session session=HibernateSessionFactory.getSession(); 

  String sql="select si from StuInfo si"; 

  Query query=session.createQuery(sql); 

  List list=query.list(); 

  session.close(); 

  return list; 

//模糊查询 

public List query2(){ 

  String sql="select si from  StuInfo si where si.stuAddress like '%北京%'"; 

//预处理查询 

public List query3(){ 

  String sql="select si from  StuInfo si where si.stuAddress like ?"; 

  query.setString(0,"%北京%"); 

public List query4(){ 

  String sql="select si from  StuInfo si where si.stuSeat>=:seat"; 

  query.setInteger("seat",2); 

//多表查询 

public List query5(){ 

  String sql="select si from  StuInfo si,StuMarks sm where sm.stuInfo=si and sm.writtenExam>60"; 

       //分页 

public List query6(int pageNo,int pageSize){ 

  String sql="select si from  StuInfo si order by si.stuSeat asc"; 

  int beginnumber=pageSize*(pageNo-1); 

  query.setFirstResult(beginnumber); 

  query.setMaxResults(pageSize); 

//统计函数 

public int query7(){ 

  String sql="select count(si) from StuInfo si"; 

  Integer count=(Integer)query.uniqueResult(); 

  return count.intValue(); 

//子查询 

public List query8(){ 

  String sql="select si from StuInfo as si,StuMarks sm where sm.stuInfo=si and sm.writtenExam>(select avg(sm.writtenExam) from sm)"; 

                Query query=session.createQuery(sql); 

}

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/20/1911920.html,如需转载请自行联系原作者