免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1029 | 回复: 0
打印 上一主题 下一主题

Hibernate笔记(示例) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-03 11:00 |只看该作者 |倒序浏览
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 ;
        }
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26912/showart_270060.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP