设为首页 加入收藏

TOP

Hibernate框架的增删改查代码详解
2014-11-24 13:55:54 来源: 作者: 【 】 浏览:1
Tags:Hibernate 框架 删改 代码 详解

一 思路分析


在Hibernate框架的开发中,session对象是最核心的技术,增、删、该都需要用到,在通过id查询的时候用到的也是session对象,但是当有复杂查询的时候用到的是Query或Criteria类,这三个类都是在同一个包写的,在hibernate包下


二 Query类和Cirteria类的介绍


1.HQL(hibernate Query Language)面向对象的查询语言,与sql不同,HQL中的对象名师区分大小写的, HQL中查的是对象而不是和表,并且支持多态;HQL主要通过Query来操作,Query的创建方式:


Query q = session.createQuery(hql);


l from Person


l from User user where user.name=:name


l from User user where user.name=:name and user.birthday < :birthday


2.Criteria


Criteria是一种比HQL更面向对象的查询方式;Criteria的创建方式:


Criteria crit = session.createCriteria(DomainClass.class);


简单属性条件如:criteria.add(Restrictions.eq(propertyName, value)),


criteria.add(Restrictions.eqProperty(propertyName,otherPropertyName))


三 代码分析


1.添加任何一个对象


public static void add(Object obj) {


Session session = null;


Transaction tx = null;


try {


session = HibernateUtil.getSession();


tx = session.beginTransaction();// 开启事务


session.save(obj);// 没有更新数据库


tx.commit();// 执行提交事务的时候更新数据库


} finally {


// 使资源得到释放


if (session != null) {


session.close();


}


}


}


2.删除任何一个类中的文件


public static void delete(Object obj) {


Session session = null;


Transaction tx = null;


try {


session = HibernateUtil.getSession();


tx = session.beginTransaction();// 开启事务


session.delete(obj);


// 删除之后为瞬时状态


tx.commit();


} finally {


// 使资源得到释放


if (session != null) {


session.close();


}


}


}




3.更新任何一个类中的对象


public static void update(Object obj) {


Session session = null;


Transaction tx = null;


try {


session = HibernateUtil.getSession();


tx = session.beginTransaction();// 开启事务


session.update(obj);


tx.commit();


} finally {


// 使资源得到释放


if (session != null) {


session.close();


}


}


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Hibernate的核心接口 --- Query查.. 下一篇Hibernate懒加载异常处理

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: