⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 personoperate.java

📁 hibernate很好的入门学习资料
💻 JAVA
字号:
package org.lxh.hibernate.demo01;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/*
 * 具体操作Hibernate的类:
 * 增加、删除、修改、按ID查询、模糊查询、查询全部操作
 * */
public class PersonOperate {
	// 在Hibernate中,所有的操作都是通过Session完成
	// 此Session不同于JSP的Session
	private Session session = null ;
	
	// 在构造方法之中实例化session对象
	public PersonOperate()
	{
		// 找到Hibernate配置
		Configuration config = new Configuration().configure() ;
		// 从配置中取出SessionFactory
		SessionFactory factory = config.buildSessionFactory() ;
		// 从SessionFactory中取出一个Session
		this.session = factory.openSession() ;
	}
	
	// 所有的操作都是通过session进行的
	// 向数据库中增加数据
	public void insert(Person p)
	{
		// 开始事务
		Transaction tran = this.session.beginTransaction() ;
		// 执行语句
		this.session.save(p) ;
		// 提交事务
		tran.commit() ;
		// 关闭Session
		this.session.close() ;
	}
	
	// 修改
	public void update(Person p)
	{
		// 开始事务
		Transaction tran = this.session.beginTransaction() ;
		// 执行语句
		this.session.update(p) ;
		// 提交事务
		tran.commit() ;
	}
	
	// 按ID查询:推荐使用HQL —— 是Hibernate官方推荐的查询语言
	public Person queryById(String id)
	{
		Person p = null ;
		// 使用Hibernate查询语言
		String hql = "FROM Person as p WHERE p.id=?" ;
		// 通过Query接口查询
		Query q = this.session.createQuery(hql) ;
		q.setString(0,id) ;
		List l = q.list() ;
		Iterator iter = l.iterator() ;
		if(iter.hasNext())
		{
			p = (Person)iter.next() ;
		}
		return p ;
	}
	
	// 删除数据
	// Hibernate2、Hibernate 3通用的删除
	// 使用此方法删除数据之前,必须先查找到数据对象,性能呢?
	public void delete(Person p)
	{
		Transaction tran = this.session.beginTransaction() ;
		// 执行语句
		this.session.delete(p) ;
		// 提交事务
		tran.commit() ;
	}
	
	// 在Hibernate 3之中根据HQL中的语句进行了修改,增加了删除指令
	public void delete(String id)
	{
		String hql = "DELETE Person WHERE id=?" ;
		Query q = this.session.createQuery(hql) ;
		// 把参数设置
		q.setString(0,id) ;
		// 执行更新语句
		q.executeUpdate() ;
		// 进行事务处理
		this.session.beginTransaction().commit() ;
	}
	
	// 查询全部数据,写HQL
	public List queryAll()
	{
		List l = null ;
		String hql = "FROM Person as p" ;
		Query q = this.session.createQuery(hql) ;
		l = q.list() ;
		return l ;
	}
	
	// 模糊查询
	public List queryByLike(String cond)
	{
		List l = null ;
		String hql = "FROM Person as p WHERE p.name like ?" ;
		Query q = this.session.createQuery(hql) ;
		q.setString(0,"%"+cond+"%") ;
		l = q.list() ;
		return l ;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -