解释下:
大侠们不要见怪,我在这里写的这个工具类肯定有很多不好的地方,我想的是在这里写个文章,好利用它的电子书功能来做个读书笔记。多多包含!
利用MyEclipse7.0自动生成的HibernateSessionFactory.java
HibernateUtil.java :
package com.cracker;
import java.util.ArrayList;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;
public class HibernateUtil {
/**
* 保存
*/
public static void add(Object obj){
Transaction st = null;
Session session = null;
try{
session = HibernateSessionFactory.getSession();
st = session.beginTransaction();
session.save(obj);
st.commit();
}catch(HibernateException e){
st.rollback();
throw e;
}finally{
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
}
/**
* 更新
*/
public static void update(Object obj){
Transaction st = null;
Session session = null;
try{
session = HibernateSessionFactory.getSession();
st = session.beginTransaction();
session.update(obj);
st.commit();
}catch(HibernateException e){
st.rollback();
throw e;
}finally{
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
}
/**
* 删除
*/
public static void delete(Object obj){
Session session = HibernateSessionFactory.getSession();
try{
session.delete(obj);
} catch(HibernateException e){
System.out.println("删除异常");
throw e;
}finally{
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
}
/**
* 查询ByID
*/
public static User queryById(int id){
Session session = HibernateSessionFactory.getSession();
User user = null;
try{
user = (User)session.get(User.class,1);
}catch (HibernateException e){
System.out.println("查询ByID异常");
throw e;
}finally{
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
return user;
}
/**
* Query By Name
*/
@SuppressWarnings("unchecked")
public static ArrayList<User> queryByName(String name){
ArrayList<User> userList = new ArrayList<User>();
String hql = "from User as user where user.name=:name";
Session session = HibernateSessionFactory.getSession();
try{
Query query =session.createQuery(hql);
// 分页显示
query.setFirstResult(0);
query.setMaxResults(4);
query.setString("name", name);
// 快速获得hql的集合,不用像JDBC那样去一个一个取了
userList = (ArrayList<User>) query.list();
}catch(HibernateException e){
System.out.println("QueryByName异常");
throw e;
}finally{
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
return userList;
}
/**
*
* 通过密码来查询,演示采用criteria方式
*/
@SuppressWarnings("unchecked")
public static ArrayList<User> queryByPassword(String password){
ArrayList<User> userList = new ArrayList<User>();
Session session = HibernateSessionFactory.getSession();
try{
Criteria c = session.createCriteria(User.class);
// 分页显示
c.setFirstResult(0);
c.setMaxResults(4);
c.add(Restrictions.eq("password", password));
// 快速获得的集合,不用想JDBC那样去一个一个取了
userList = (ArrayList<User>) c.list();
}catch(HibernateException e){
System.out.println("QueryByName异常");
throw e;
}finally{
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
return userList;
}
}
分享到:
相关推荐
而HibernateUtil则是为了方便开发者管理Hibernate的核心组件Session和SessionFactory而设计的一个实用工具类。本文将详细探讨HibernateUtil的实现原理、作用以及如何使用它来优化数据库操作。 一、HibernateUtil与...
本篇将详细介绍一个基于Hibernate封装的增删改查工具类,该工具类整合了util、comm.util以及beanutils等库,旨在提高开发效率,降低代码复杂度,方便开发者快速地获取session和sessionFactory。 首先,让我们理解...
`HibernateUtil`工具类就是对Hibernate框架功能的一种封装,简化了对数据库的操作。 在`HibernateUtil`工具类中,常见的方法有以下几类: 1. **初始化SessionFactory**: SessionFactory是Hibernate的核心组件,它...
- `hibernateUtil.java`:工具类,用于初始化SessionFactory并提供Session操作的方法。 - `测试类.java`:例如`TestHibernate.java`,包含CRUD操作的示例代码。 在测试类中,你会看到如何实例化SessionFactory,...
`HibernateUtil` 是一个工具类,用于提供 Hibernate 的 SessionFactory实例。该类提供了基本的 CRUD(Create、Read、Update、Delete)操作,可以用于实现数据的增删查改操作。 测试代码 在使用 Hibernate 时,我们...
**描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象(通常是Java类,对应数据库中的表)、一个辅助类(可能是配置或者工具类,帮助操作数据库)以及一个测试类(用于验证代码功能)。这个例子特别...
然后,用户只需要为自己的实体类创建一个继承自泛型DAO模板的接口,即可获得CRUD操作。例如,对于一个名为`User`的实体类,我们可以创建一个`UserDAO`接口,如下: ```java public interface UserDAO extends ...
`HibernateUtil` 是一个实用工具类,用于加载配置文件 `hibernate.cfg.xml` 并获取 SessionFactory 和 Session 实例。这样可以确保在整个应用中,SessionFactory 只被创建一次,提高了性能。 ```java public final ...
例如,可以创建一个HibernateUtil工具类,封装SessionFactory和Session的获取,以及事务的开始、提交和回滚等操作。还可以编写一个DAO(Data Access Object)基类,提供基本的查询和保存方法,子类根据具体的实体类...
同时,Hibernate的SessionFactory和Session对象会在后台处理数据库交互,例如通过`HibernateUtil`工具类来实例化SessionFactory,然后通过Session执行CRUD操作。 总的来说,"简单的Struts2+Hibernate公告管理系统...
- **主键表示**:可选地,可以有一个无意义的表示ID,通常使用@Id注解标识。 - **类非 final**:允许懒加载机制。 3. **映射文件配置** - `<class>`标签的`name`属性指定Java类名,`table`属性指定数据库表名。 ...
这里的`HibernateUtil`通常是一个自定义的工具类,用于获取SessionFactory。`save()`方法会将对象持久化到数据库,`beginTransaction()`和`commit()`则分别用于开启和结束数据库事务。 除了基本的CRUD操作,...
在项目目录下,创建一个新的文件夹用于存放实体类和DAO。 2. 接下来,我们需要配置Hibernate的连接字符串。在MyEclipse中,我们可以在项目的配置文件中添加以下内容: jdbc:oracle:thin:@localhost:1521:orcl jdbc:...
为了管理和操作Session,我们创建了一个名为`HibernateUtil`的工具类。这个类通常包含了SessionFactory的初始化,以及获取Session实例的方法,用于执行CRUD(创建、读取、更新、删除)操作。SessionFactory是一个...
这里,`HibernateUtil`通常是一个工具类,用于初始化并提供SessionFactory。整个过程简洁明了,无需手动编写SQL,大大降低了开发复杂度。 总结起来,"j2ee开发常用jar 包2: Hibernate"主要涵盖了Hibernate作为J2EE...
- HibernateUtil.java:用于创建SessionFactory的工具类 - TestHibernate.java:包含JUnit测试用例的类 通过阅读和理解这些代码,你可以更好地了解Hibernate在实际应用中的工作原理。 总之,这个“hibernate入门小...
5. **HibernateUtil**:HibernateUtil类是一个实用类,用于管理SessionFactory对象。通常包含一个静态的SessionFactory实例和一个静态方法,用于获取这个实例。HibernateUtil类可以帮助简化获取Session的操作。 ...
本教程将深入探讨如何使用Hibernate来实现一个简单的课程管理系统,涵盖多对多关联映射以及CRUD操作。 ### Hibernate概述 Hibernate是一个开源的ORM框架,它允许开发者使用Java对象来表示数据库中的记录,从而避免...
创建一个`UserDAO`类,用于执行CRUD操作: ```java import org.hibernate.Session; import org.hibernate.Transaction; public class UserDAO { public void save(User user) { Session session = ...
在Java的持久化框架中,Hibernate是一个非常重要的工具,它为开发者提供了强大的对象关系映射(ORM)功能。本示例“hibernate单边一对一关系demo”将深入讲解如何在Hibernate中设置和操作一对一(One-to-One)的关系...