Hibernate操作数据库的方式总结

Hibernate操作数据库的方式总结

 

hibernate查询数据库的方式基本包括一下四中

Session,Query,SqlQuery,Criteria

Session

sessionfactory.getCurrentSession()

Void save(Object entity)

Void delete(Object entity)

Void update(Object entity)

Void saveorupdate(Object entity)

Object get(Class entityclass,Serializable pk)

Object load(Class entityclass,Serializable pk)

Query

session.createQuery(String hqlstring)

Query.setParameter(String property,Object value)

Query.setParameter(int position,Object value)

SqlQuery

session.createSqlQuery(String sqlstring)

继承自Query,添加了方法 SqlQuery addEntity(Class entityclass),将结果封装成实体对象,返回SqlQuery

Criteria

session.createCriteria(Class entityclass)

 

criteria add(Craterion c)添加查询条件

Craterion分为几大类,都位于org.hibernate.criterion包下

 

  1. Example

继承于org.hibernate.criterion. Craterion. Example.create(Object entity);查询属性值和实体一致的记录;

  1. Restrictions

负责返回Criteriation对象。包含大多数常用sql.如:and,or,like,between,eq,lt,gt,in等方法,这些方法都是static

  1. progections

所有聚合函数都用progections来实现。如:count(),avg(),sum(),max(),main()等。

  1. property

static Property forName(String propertyName)负责创建Property对象。

 

 

实例

session.createCriteria(vo.class).add(Example.create(entity)).list();

 

session.createCriteria(vo.class).add(Restrictions.eq(propertyname,value)).

add(Restrictions.like(propertyname,value)).

add(restrictions.between(propertyname,value1,value2)).list();

 

session.createCriteria(vo.class).add(Restrictions.like(propertyname,value)).

add(Restrictions.or(

Restrictions.eq("name","wang"),Restrictions.eq("name","zhang"))

).list();

 

 

你可能感兴趣的:(Hibernate操作数据库的方式总结)