会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
耿小超的BLOG
绿柳村边何(sea)
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
具体操作Hibernate的类
Hibernate中进行数据库增删改的代码
Hibernate
中进行数据库增删改的代码,太多不想背了,记在这里以后来查好啦~~~~
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 ;
}
}
posted on
2008-01-29 11:38
超少
阅读(
308
) 评论(
4
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部