`
lovexuwenhao
  • 浏览: 200417 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernater连接数据库

阅读更多

package com.minma;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class DAOHelper {

 private static SessionFactory sessionFactory;
 private static Log log = LogFactory.getLog(DAOHelper.class);

 public static SessionFactory getSessionFactory() {
  if(sessionFactory == null) {
   
   Configuration cfg = new Configuration();
   cfg.configure();
   
   log.info("Create Configuration instance...");
   sessionFactory = cfg.buildSessionFactory();
   log.info("Build SessionFactory instance...");
  }
  return sessionFactory;
 }
 
    public static void closeSession(Session hSession) {
        try{
            if(hSession != null){
                hSession.close();   
            }
        }catch(HibernateException he){
            //Ignore Excpeption
        }
    }
 
}

 

 

 

package com.minma.skin.dao;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import com.minma.dao.DAOHelper;
/*author wenhao*/
public class CommonDAO {
 
 public boolean update(String operate,Object object){
  Session session = null;
  Transaction trx = null;
  boolean success=false;
  try { 
   SessionFactory sessionFactory = DAOHelper.getSessionFactory();
   session = sessionFactory.openSession();
   trx = session.beginTransaction(); 
    if (operate.equals("save")){
        session.save(object);
   }else if(operate.equals("delete")){
     session.delete(object); 
   }else if(operate.equals("update")){
     session.update(object);
   }
   success=true;
   trx.commit(); 
  }catch(Exception e){
   if(trx!=null)trx.rollback();
   success=false;
   e.printStackTrace();
  }finally{
   DAOHelper.closeSession(session);
  }
  return success;
    }
 
  public Object uniqueQuery(String hql){
 SessionFactory sessionFactory = DAOHelper.getSessionFactory();
 Session session = sessionFactory.openSession();
 Transaction tx=session.beginTransaction();
 Object object=null;
 try{
  Query query=session.createQuery(hql); 
  object=query.uniqueResult();
  tx.commit();
 }catch(Exception e){
   if(tx!=null){
  tx.rollback(); 
  } 
   e.printStackTrace();
 }finally{
   session.close(); 
 }
   return object;
  }
 
  public java.util.List query(String hql){
 SessionFactory sessionFactory = DAOHelper.getSessionFactory();
 Session session = sessionFactory.openSession();
 Transaction tx=session.beginTransaction();
 java.util.List list=null;
 try{
   Query query=session.createQuery(hql); 
   list=query.list();
   tx.commit();
 }catch(Exception e){
   if(tx!=null){
  tx.rollback(); 
   } 
   e.printStackTrace();
 }finally{
   session.close(); 
 }
 return list;
  }
 
  public java.util.List queryHQL(String hql,int size){
  SessionFactory sessionFactory = DAOHelper.getSessionFactory();
  Session session = sessionFactory.openSession();
  Transaction tx=session.beginTransaction();
  java.util.List list=null;
  try{
    Query query=session.createQuery(hql); 
    query.setMaxResults(size);
    list=query.list();
    tx.commit();
  }catch(Exception e){
    if(tx!=null){
   tx.rollback(); 
    } 
    e.printStackTrace();
  }finally{
    session.close(); 
  }
  return list;
   }
 
  public boolean delete(String hql){
 boolean success=false;
 SessionFactory sessionFactory = DAOHelper.getSessionFactory();
 Session session = sessionFactory.openSession();
 Transaction tx=session.beginTransaction();
 try{
   Query query=session.createQuery(hql); 
   query.executeUpdate();
   tx.commit();
   success=true;
 }catch(Exception e){
   if(tx!=null){
  tx.rollback(); 
   } 
   success=false;
   e.printStackTrace();
 }finally{
    session.close(); 
 }
 return success;
  }
  public java.util.List sqlQuery(String hql){
   java.util.List list=new java.util.ArrayList();
  SessionFactory sessionFactory = DAOHelper.getSessionFactory();
  Session session = sessionFactory.openSession();
  Transaction tx=session.beginTransaction();
  try{
    Query query=session.createSQLQuery(hql); 
    list=query.list();
    tx.commit();
  }catch(Exception e){
    if(tx!=null){
   tx.rollback(); 
    } 
    e.printStackTrace();
  }finally{
     session.close(); 
  }
  return list;
   }
}

 

分享到:
评论

相关推荐

    关于用Dreamweaver连数据库mysql的问题参考.pdf

    Dreamweaver 连接 MySQL 数据库详解 Dreamweaver 是一款功能强大的网页开发工具,它可以与各种数据库集成,本文将详细介绍如何使用 Dreamweaver 连接 MySQL 数据库。 标题解读 关于用 Dreamweaver 连接 MySQL ...

    Hibernater的jar包

    在使用Hibernate时,首先需要配置`hibernate.cfg.xml`文件,其中定义了数据库连接信息、方言、缓存策略等。接着,我们通过注解或者XML文件来映射Java实体类与数据库表,这就是所谓的对象关系映射。例如,一个`User`...

    hibernater3jar包全

    1. 配置:在项目中引入hibernate3.jar及其他依赖JAR文件,配置hibernate.cfg.xml文件,指定数据库连接参数、缓存策略等。 2. 实体类:创建Java实体类,用注解或XML定义其与数据库表的映射关系。 3. SessionFactory:...

    springMVC+Hibernater整合及测试(亲测可运行)所需jar包

    3. 数据库驱动,例如mysql-connector-java,用于连接特定的数据库。 4. JSON处理库,如Jackson或Gson,用于将Java对象转换为JSON格式进行网络传输。 5. 文件上传相关的库,如commons-fileupload和commons-io,提供...

    spring+springmvc+hibernater框架架包

    3. **配置Hibernate**:创建Hibernate配置文件,指定数据库连接信息、实体类扫描路径、缓存策略等。 4. **实体类和映射文件**:编写Java实体类,对应数据库表,创建对应的Hibernate映射文件(XML或注解形式)。 5. *...

    hibernater教学文档

    1. **配置文件**:`hibernate.cfg.xml`,用于设置数据库连接信息、方言、缓存等。 2. **映射文件**:`.hbm.xml` 或注解,定义对象与数据库表的映射关系。 3. **Session** 接口:是 Hibernate 的核心,提供了与数据库...

    hibernate配置连接池

    文档“hibernater配置proxool.doc”可能包含有关使用Proxool作为连接池的详细步骤。Proxool是一个轻量级的开源JDBC连接池,它具有监控和性能报告功能,适合中小型项目使用。 以下是配置Hibernate连接池的一般步骤:...

    使用java的反射机制来模拟hibernater的jdbc操作

    连接数据库,创建Statement或PreparedStatement,执行SQL语句,最后关闭连接。 在案例中,我们可能已经实现了如下功能: - **增加(Create)**:创建一个实体对象,通过反射设置其属性,然后使用反射调用对应的DAO...

    spring+hibernater+struts 框架例子

    Hibernate的hibernate.cfg.xml,用于配置数据库连接;Struts的struts.xml,定义Action和结果映射。 2. Model类:代表业务对象,它们通常会继承Hibernate的Entity接口或使用注解进行映射。 3. DAO(Data Access ...

    使用Hibernate完成对象持久化

    Hibernate的出现,通过自动管理数据库连接、事务、SQL生成等,极大地简化了这一过程,使得开发者可以专注于业务逻辑的实现。 ### Hibernate是什么? Hibernate是由Gavin King创建的一个开源框架,它是Java世界中最...

    Java代码生成器,MVC框架可以自动生产的工具

    通过连接数据库,选择任意数据表生成实体模型,支持简单SQL语句查询,直接浏览数据表结构和数据。 支持多项目管理,文件编辑,一键式生成代码。快速构建基础框架代码,并支持MVC 3层构架。 生成的项目可以直接导入...

    struts,spring,hibernater集合文档

    -- 数据库连接信息 --> <!-- 配置 Hibernate SessionFactory --> <!-- 其他配置信息 --> ``` - 配置 DAO 层的 Bean 实例。 - 示例配置文件 `applicationContext-dao.xml`: ```xml xmlns:xsi...

    Struts2.5+ Spring5 + Hibernater5.2整合后项目(包含jar包和配置文件)

    3. **配置Hibernate**:添加hibernate-entitymanager、hibernate-core等依赖,配置hibernate.cfg.xml,定义数据库连接信息、实体类映射等。 4. **整合Struts2与Spring**:使用Spring插件struts2-spring-plugin.jar...

    study_hibernater

    2. **配置文件**:Hibernate的配置文件(hibernate.cfg.xml)用于设置数据库连接信息,包括驱动类、URL、用户名和密码等,以及指定实体类的映射文件。 3. **实体类**:在Hibernate中,每个数据库表都对应一个Java类...

    Myeclipse开发hibernate

    - 创建`hibernate.cfg.xml`配置文件,设置数据库连接信息,包括驱动、URL、用户名和密码等。 - 在`web.xml`中配置Hibernate Session Factory,添加如下代码: ```xml <servlet-name>hibernate ...

    hibernate与struts增删改查整合实例源代码

    3. 配置文件(Configuration):hibernate.cfg.xml,配置数据库连接等信息。 4. SessionFactory工厂类:用于创建SessionFactory实例。 5. DAO(Data Access Object):如UserDAO.java,封装对数据库的操作。 6. ...

    springmvc spring hibernate整合Demo

    3. 集成Hibernate:配置Hibernate的SessionFactory,指定数据库连接信息、实体类映射文件等。然后,通过Spring的HibernateTemplate或SessionFactoryBean,将Hibernate集成到Spring中,以便在Controller中方便地进行...

    SSH_ACCESS

    5. **配置过程**: 在这个项目中,开发者需要在`jdbc.properties`中配置数据库连接参数,然后在`applicationContext.xml`中配置Hibernate的SessionFactory,包括数据源、实体扫描路径、事务管理器等。接着在`struts....

    spring3.0+hibernate3.3+mysql8.0

    2. **配置文件**:编写`applicationContext.xml`(Spring配置)和`hibernate.cfg.xml`(Hibernate配置),定义bean、数据源、session工厂等,并配置数据库连接参数。 3. **实体类和映射文件**:创建Java实体类来...

Global site tag (gtag.js) - Google Analytics