hibernate对数据库操作代码
来源:互联网 发布:centos和kali 编辑:程序博客网 时间:2024/05/16 06:59
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 ;
}
}
- hibernate对数据库操作代码
- hibernate对数据库操作代码
- "Hibernate"对数据库操作的实例代码
- Hibernate对数据库的操作
- HIbernate对数据库的操作
- Hibernate通用数据库操作代码
- Hibernate通用数据库操作代码
- Hibernate 操作数据库模板代码
- hibernate对数据库的简单操作
- hibernate对数据库进行CRUD操作
- 基于hibernate对数据库操作封装
- Hibernate编写通用数据库操作代码
- Hibernate编写通用数据库操作代码
- Hibernate编写通用数据库操作代码
- 使用Hibernate编写通用数据库操作代码
- Hibernate编写通用数据库操作代码
- Hibernate编写通用数据库操作代码
- Hibernate编写通用数据库操作代码演示
- 把女友升级为老婆的时候发生的BUG
- 快一个月了
- 使用另存模板创建的调查无法正确导出到Excel中
- asp.net 2.0小TIPS两则
- Win2003下Asp配置技巧
- hibernate对数据库操作代码
- java中使用数据库大权
- Asp.net Futures安装时出错的解决方法
- 6.19天热
- 爱德华无限分类目录树JSP版(EdwardTree V1.0)
- 关闭不需要服务 为Windows系统提速
- 攻破网吧经典5招
- 检测自己电脑是否中病毒木马方法
- 利用Google进行入侵的原理