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(){ 
  Session session=HibernateSessionFactory.getSession(); 
  String sql="select si from  StuInfo si where si.stuAddress like '%北京%'"; 
  Query query=session.createQuery(sql); 
  List list=query.list(); 
  return list; 

//预处理查询 
public List query3(){ 
  Session session=HibernateSessionFactory.getSession(); 
  String sql="select si from  StuInfo si where si.stuAddress like ?"; 
  Query query=session.createQuery(sql); 
  query.setString(0,"%北京%"); 
  List list=query.list(); 
  return list; 


public List query4(){ 
  Session session=HibernateSessionFactory.getSession(); 
  String sql="select si from  StuInfo si where si.stuSeat>=:seat"; 
  Query query=session.createQuery(sql); 
  query.setInteger("seat",2); 
  List list=query.list(); 
  return list; 

//多表查询 
public List query5(){ 
  Session session=HibernateSessionFactory.getSession(); 
  String sql="select si from  StuInfo si,StuMarks sm where sm.stuInfo=si and sm.writtenExam>60"; 
  Query query=session.createQuery(sql); 
   
  List list=query.list(); 
  return list; 

       //分页 
public List query6(int pageNo,int pageSize){ 
  Session session=HibernateSessionFactory.getSession(); 
  String sql="select si from  StuInfo si order by si.stuSeat asc"; 
  Query query=session.createQuery(sql); 
  int beginnumber=pageSize*(pageNo-1); 
  query.setFirstResult(beginnumber); 
  query.setMaxResults(pageSize); 
  List list=query.list(); 
  return list; 

//统计函数 
public int query7(){ 
  Session session=HibernateSessionFactory.getSession(); 
  String sql="select count(si) from StuInfo si"; 
  Query query=session.createQuery(sql); 
  Integer count=(Integer)query.uniqueResult(); 
   
  return count.intValue(); 

//子查询 
public List query8(){ 
  Session session=HibernateSessionFactory.getSession(); 
  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); 
  List list=query.list(); 

  return list; 



}



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


目录
相关文章
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
|
Java 数据库连接 数据库
Hibernate-操作数据库-类对象插入-2
框架 -2为带有注解的版本,但是总体上是差不多的 teacher类: hibernate.cfg.xml log4j.properties: teacherTest类
157 0
Hibernate-操作数据库-类对象插入-2
|
Java 数据库连接 数据库
Hibernate-操作数据库-类对象插入-1
-1为非带注解版本 框架 工程框架: Student类: hibernate.cfg.xml log4j.properties: Student.hbm.xml StudentTest类: 数据库结构以及表的设计
142 0
Hibernate-操作数据库-类对象插入-1
|
Java 数据库连接
Hibernate注解-类级别注解
Hibernate注解-类级别注解
129 0
|
存储 Java 数据库连接
【SSH快速进阶】——Hibernate继承映射:每个具体类映射一张表
  上篇文章说的是每个类映射一张表,不管是父类还是子类。与上篇文章不同的是,这里是每个“具体类”映射一张表,什么意思呢?就是让每个子类(具体的、有意义的类)映射一张表。
【SSH快速进阶】——Hibernate继承映射:每个具体类映射一张表
|
存储 Java 数据库连接
【SSH快速进阶】——Hibernate继承映射:每个类映射一张表
上文说了每棵继承树映射一张表,本文继续描述让每个类都映射一张表的配置。
【SSH快速进阶】——Hibernate继承映射:每个类映射一张表
|
存储 SQL 缓存
Hibernate缓存及核心接口类详解
Hibernate缓存及核心接口类详解
173 0
|
Java 数据库连接
Hibernate实现简单的CRUD操作和常见类(三)下
Hibernate实现简单的CRUD操作和常见类(三)
155 0
Hibernate实现简单的CRUD操作和常见类(三)下