赛迪网 > IT技术 Java > Java开源
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Hibernate编写通用数据库操作代码演示

发布时间:2007.11.02 04:48     来源:赛迪网技术社区    作者:baocl

insert方法
public void insert(Object o){
    Session session = HibernateSessionFactory.currentSession();
    Transaction t = session.beginTransaction();
    session.save(o);
    t.commit();
    HibernateSessionFactory.clossSession();
}

delete方法
public void delete(Object o,Serializable id){
    Session session = HibernateSessionFactory.currentSession():
    Transaction t = session.beginTransaction();
    Object o = session.get(o.class,id);
    if(o!=null){
        session.delete(o);
    }
    t.commit();
    HibernateSessionFactory.clossSession();
}

update方法
public void update(Object o,Serializable id){
    Session session = HibernateSessionFactory.currentSession();
    Transaction t = session.beginTransaction();
    session.update(o,id);
    t.commit();
    HibernateSessionFactory.clossSession();
}

基于HQL的通用select方法
public ArrayList select(String sql){
    Session session = HibernateSessionFactory.currentSession();
    Query query = createQuery(sql);
    List list = query.list();
    HibernateSessionFactory.clossSession();
    return (ArrayList)list;
}

基于SQL的通用select方法
public ArrayList select(String sql) throws Exception{
    Session session = HibernateSessionFactory.currentSession();
    Connection con = session.connection();
    PreparedStatement pstmt = con.preparedStatement(sql);
    ResultSet rs = pstmt.executeQuery();
    ResultSetMetaData rsmd = rs.getMetaData();
    Hashtable ht = null;
    ArrayList array = new ArrayList();
    while(rs.next()){
        ht = new Hashtable();
        for(int i=0;i             ht.put(rsmd.getColumnName(i+1),rs.getObject(i+1));
        }
        array.add(ht);
    }
    HibernateSessionFactory.clossSession();
    return array;
}


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· EJB初学者怎样面对经常有的十一个疑惑 (11-01) · 高手为你解读J2EE开发过程中的异常处理 (11-01)
· J2EE基础:怎样读取和处理XML的配置文件 (11-01) · 指点一下:到底该不该去考JAVA认证? (11-01)
· 经验:亲身体验考SCJP的失败经历 (11-01) · JAVA程序类的加载及其反射机制全面介绍 (11-01)
· JAVA进阶:对象的序列化和反序列化实践 (11-01) · 异常问题在Java编程中处理的优劣之道 (11-01)
· 如何处理Java及其相关字符集编码的问题 (11-01) · JAVA基础:Java语言相关的重要术语解析 (11-01)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 信息化市场百家争鸣 SaaS深陷争议“泥潭”
· 提高管理水平 "两栖"CIO应具备的六大能力
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统