`

hibernate应用

 
阅读更多
/**
 * 
 */
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应用及其详解

    Hibernate应用及其详解

    利用Eclipse开发Hibernate应用程序

    本文所指的HibernateSyn插件,是针对Eclipse的一个插件,它能够加速Hibernate应用程序的开发过程。 首先,要利用Eclipse开发Hibernate应用程序,开发者需要对Eclipse进行配置,包括安装HibernateSyn插件。在Eclipse...

    Hibernate应用开发完全手册(源代码)

    《Hibernate应用开发完全手册》是一本深度探讨Java领域持久化框架Hibernate的专业书籍。该书旨在帮助开发者全面理解和熟练运用Hibernate进行数据库操作。压缩包中包含了第2章至第4章的源代码,这些章节通常会涵盖...

    hibernate应用开发完全手册(源码)

    《Hibernate应用开发完全手册(源码)》是针对Java开发者深入理解Hibernate框架的重要参考资料,它提供了详尽的源码分析,帮助开发者从实践层面深化对Hibernate的理解。Hibernate是一个开源的对象关系映射(ORM)...

    简单的HIBERNATE应用

    【标题】:“简单的HIBERNATE应用” 【内容】: Hibernate是Java开发中的一款非常流行的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互,使得开发者可以更加专注于业务逻辑而不是繁琐的数据访问层...

    Hibernate应用

    **Hibernate应用详解** Hibernate作为一款强大的对象关系映射(ORM)框架,它的出现极大地简化了Java开发者与数据库之间的交互过程。在传统的Java JDBC编程中,我们需要编写大量的SQL语句,并手动处理结果集,而...

    快速的开发Hibernate应用程序

    【快速开发Hibernate应用程序】 在Java开发领域,Eclipse作为一个强大的集成开发环境,因其高度的可扩展性和丰富的插件支持,深受开发者喜爱。同样,Hibernate作为一款流行的对象关系映射(ORM)框架,简化了Java...

    hibernate应用开发完全手册源码(5-16)

    《Hibernate应用开发完全手册》附有配套光盘,提供了书中所有实例、范例和案例程序的全部源代码。Hibernate的环境搭建及使用Hibernate时必须掌握的基本技术等基础知识;在Hibernate中映射关联关系、事务应用、检索...

    SSH应用开发-Hibernate应用入门.zip_hibernate

    本教程提供的"SSH应用开发-Hibernate应用入门.docx"文档,将详细讲解如何配置Hibernate环境,创建实体类,编写映射文件,以及如何进行基本的CRUD操作。对于初学者,这是一个很好的起点,通过学习可以掌握Hibernate的...

    Struts2、Spring和Hibernate应用实例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决了一部分问题,而结合起来则能构建出高效、可维护的Web应用程序。这里,我们深入探讨这三个框架的核心概念和实际应用。 **Struts2** 是一个MVC...

    Eclipse开发Hibernate应用程序

    下面将详细解释如何使用Eclipse开发Hibernate应用程序。 1. **安装Eclipse和Hibernate插件** - 首先,你需要下载并安装最新版本的Eclipse IDE,确保其支持Java EE开发。 - 接着,为了更好地整合Hibernate,可以在...

    开发Spring+Struts+Hibernate应用

    ### Spring+Struts+Hibernate应用开发知识点梳理 #### 1. 开发环境和工具 - MyEclipse6: 集成开发环境,用于Java开发。 - Java: 编程语言,用于编写应用逻辑。 - Spring: 一个开源框架,用于整合应用中的各个层次。...

    利用MyEclipse开发Struts+Hibernate应用

    8. **学习资源**:除了阅读“利用MyEclipse开发Struts+Hibernate应用.pdf”文档外,还可以参考Struts和Hibernate的官方文档,以及众多在线教程和论坛,如Stack Overflow,获取更多实践经验和解决方案。 以上就是...

    Hibernate应用开发完全手册(源代码)

    《Hibernate应用开发完全手册》是一本深入探讨Java领域中Hibernate框架使用的权威指南。该书涵盖了从第五章到第十六章的源代码示例,旨在帮助读者掌握如何在实际项目中高效利用Hibernate进行对象关系映射(ORM)和...

Global site tag (gtag.js) - Google Analytics