/** * */ package hibernate.test; import java.util.Date; /** * @author huang * Oct 18, 2013 3:01:08 PM User.java */ public class UserTest { private Integer id; private String name; private String password; private Date createTime; private Date expireTime; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getExpireTime() { return expireTime; } public void setExpireTime(Date expireTime) { this.expireTime = expireTime; } }
package hibernate.test; import java.util.Date; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class Client { public static void main(String[] args) { query(10); //读取hibernate.cfg.xml文件 Configuration cfg = new Configuration().configure(); // SchemaExport export = new SchemaExport(cfg); // export.create(true, true); //建立SessionFactory SessionFactory factory = cfg.buildSessionFactory(); //取得session Session session = null; try { session = factory.openSession(); //开启事务 session.beginTransaction(); UserTest user = new UserTest(); user.setName("张三121"); user.setPassword("121123"); user.setCreateTime(new Date()); user.setExpireTime(new Date()); //保存User对象 session.save(user); //提交事务 session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); //回滚事务 session.getTransaction().rollback(); }finally { if (session != null) { if (session.isOpen()) { //关闭session session.close(); } } } } static void query(int i){ Session s=null; try{ s = HibernateUtil.currentSession(); //from后面是对象,不是表名 String hql="from UserTest as ut where ut.id=:id";//使用命名参数,推荐使用,易读。 Query query=s.createQuery(hql); query.setInteger("id", i); List<UserTest> list=query.list(); for(UserTest ut:list){ System.out.println(ut.getName()); } }finally{ if(s!=null) s.close(); } } }
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping> <class name="hibernate.test.UserTest"> <id name="id" column="id" type="java.lang.Integer"> <generator class="sequence"> <param name="sequence">SEQ_SO</param> </generator> </id> <property name="name" /> <property name="password" /> <property name="createTime" /> <property name="expireTime" /> </class> </hibernate-mapping>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="show_sql">true</property> <property name="hibernate.connection.driver_class"> oracle.jdbc.driver.OracleDriver </property> <property name="hibernate.connection.url"> jdbc:oracle:thin:@10.101.2.3:1521:develope </property> <property name="hibernate.connection.username">dpcds_newnew</property> <property name="hibernate.connection.password">dpcds_newnew</property> <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> <mapping resource="test.hbm.xml" /> </session-factory> </hibernate-configuration>
操作数据库太方便了,记录一下,目前只有单表。
package hibernate.test; import org.hibernate.*; import org.hibernate.cfg.*; import java.io.File; /** * * <p> * Title: WMDS * </p> * <p> * Description: * </p> * <p> * Copyright: Copyright (c) 2005 * </p> * <p> * Company: ECLINK * </p> * * @author * @version 1.0 */ public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { // Create the SessionFactory // System.out.println("-----------------------------"); // File f = new File( sessionFactory = new Configuration().configure() .buildSessionFactory(); } catch (Throwable ex) { ex.printStackTrace(); // log.error("Initial SessionFactory creation failed.", ex); throw new ExceptionInInitializerError(ex); } } public static final ThreadLocal session = new ThreadLocal(); public static Session currentSession() { Session s = (Session) session.get(); // Open a new Session, if this Thread has none yet if (s == null) { s = sessionFactory.openSession(); session.set(s); } return s; } public static void closeSession() { Session s = (Session) session.get(); if (s != null) s.close(); session.set(null); } public static void save(Object object) throws Exception { // 开始 获得hibernate环境 sessioin Session session = HibernateUtil.currentSession(); // 开始 获得hibernate环境 transaction 事物 Transaction tx = session.beginTransaction(); try { session.save(object); // 事物提交 tx.commit(); // 关闭环境 HibernateUtil.closeSession(); } catch (Exception ex) { tx.rollback(); HibernateUtil.closeSession(); throw ex; } } public static Object load(Class class0, String id) throws Exception { // 开始 获得hibernate环境 sessioin Session session = HibernateUtil.currentSession(); // 开始 获得hibernate环境 transaction 事物 Transaction tx = session.beginTransaction(); try { Object o = session.load(class0, id); // 事物提交 tx.commit(); // 关闭环境 HibernateUtil.closeSession(); return o; } catch (Exception ex) { tx.rollback(); HibernateUtil.closeSession(); throw ex; } } public static void delete(Object object) throws Exception { // 开始 获得hibernate环境 sessioin Session session = HibernateUtil.currentSession(); // 开始 获得hibernate环境 transaction 事物 Transaction tx = session.beginTransaction(); try { session.delete(object); // 事物提交 tx.commit(); // 关闭环境 HibernateUtil.closeSession(); } catch (Exception ex) { tx.rollback(); HibernateUtil.closeSession(); throw ex; } } public static void update(Object object) throws Exception { // 开始 获得hibernate环境 sessioin Session session = HibernateUtil.currentSession(); // 开始 获得hibernate环境 transaction 事物 Transaction tx = session.beginTransaction(); try { session.update(object); // 事物提交 tx.commit(); // 关闭环境 HibernateUtil.closeSession(); } catch (Exception ex) { tx.rollback(); HibernateUtil.closeSession(); throw ex; } } public static void saveOrUpdate(Object object) throws Exception { // 开始 获得hibernate环境 sessioin Session session = HibernateUtil.currentSession(); // 开始 获得hibernate环境 transaction 事物 Transaction tx = session.beginTransaction(); try { session.saveOrUpdate(object); // 事物提交 tx.commit(); // 关闭环境 HibernateUtil.closeSession(); } catch (Exception ex) { tx.rollback(); HibernateUtil.closeSession(); throw ex; } } /** * 调用例子 * * @param arg * String[] */ public static void main(String[] arg) { try { } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
Hibernate应用及其详解
本文所指的HibernateSyn插件,是针对Eclipse的一个插件,它能够加速Hibernate应用程序的开发过程。 首先,要利用Eclipse开发Hibernate应用程序,开发者需要对Eclipse进行配置,包括安装HibernateSyn插件。在Eclipse...
《Hibernate应用开发完全手册》是一本深度探讨Java领域持久化框架Hibernate的专业书籍。该书旨在帮助开发者全面理解和熟练运用Hibernate进行数据库操作。压缩包中包含了第2章至第4章的源代码,这些章节通常会涵盖...
《Hibernate应用开发完全手册(源码)》是针对Java开发者深入理解Hibernate框架的重要参考资料,它提供了详尽的源码分析,帮助开发者从实践层面深化对Hibernate的理解。Hibernate是一个开源的对象关系映射(ORM)...
【标题】:“简单的HIBERNATE应用” 【内容】: Hibernate是Java开发中的一款非常流行的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互,使得开发者可以更加专注于业务逻辑而不是繁琐的数据访问层...
**Hibernate应用详解** Hibernate作为一款强大的对象关系映射(ORM)框架,它的出现极大地简化了Java开发者与数据库之间的交互过程。在传统的Java JDBC编程中,我们需要编写大量的SQL语句,并手动处理结果集,而...
【快速开发Hibernate应用程序】 在Java开发领域,Eclipse作为一个强大的集成开发环境,因其高度的可扩展性和丰富的插件支持,深受开发者喜爱。同样,Hibernate作为一款流行的对象关系映射(ORM)框架,简化了Java...
《Hibernate应用开发完全手册》附有配套光盘,提供了书中所有实例、范例和案例程序的全部源代码。Hibernate的环境搭建及使用Hibernate时必须掌握的基本技术等基础知识;在Hibernate中映射关联关系、事务应用、检索...
本教程提供的"SSH应用开发-Hibernate应用入门.docx"文档,将详细讲解如何配置Hibernate环境,创建实体类,编写映射文件,以及如何进行基本的CRUD操作。对于初学者,这是一个很好的起点,通过学习可以掌握Hibernate的...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决了一部分问题,而结合起来则能构建出高效、可维护的Web应用程序。这里,我们深入探讨这三个框架的核心概念和实际应用。 **Struts2** 是一个MVC...
下面将详细解释如何使用Eclipse开发Hibernate应用程序。 1. **安装Eclipse和Hibernate插件** - 首先,你需要下载并安装最新版本的Eclipse IDE,确保其支持Java EE开发。 - 接着,为了更好地整合Hibernate,可以在...
### Spring+Struts+Hibernate应用开发知识点梳理 #### 1. 开发环境和工具 - MyEclipse6: 集成开发环境,用于Java开发。 - Java: 编程语言,用于编写应用逻辑。 - Spring: 一个开源框架,用于整合应用中的各个层次。...
8. **学习资源**:除了阅读“利用MyEclipse开发Struts+Hibernate应用.pdf”文档外,还可以参考Struts和Hibernate的官方文档,以及众多在线教程和论坛,如Stack Overflow,获取更多实践经验和解决方案。 以上就是...
《Hibernate应用开发完全手册》是一本深入探讨Java领域中Hibernate框架使用的权威指南。该书涵盖了从第五章到第十六章的源代码示例,旨在帮助读者掌握如何在实际项目中高效利用Hibernate进行对象关系映射(ORM)和...