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 数据库详解 Dreamweaver 是一款功能强大的网页开发工具,它可以与各种数据库集成,本文将详细介绍如何使用 Dreamweaver 连接 MySQL 数据库。 标题解读 关于用 Dreamweaver 连接 MySQL ...
在使用Hibernate时,首先需要配置`hibernate.cfg.xml`文件,其中定义了数据库连接信息、方言、缓存策略等。接着,我们通过注解或者XML文件来映射Java实体类与数据库表,这就是所谓的对象关系映射。例如,一个`User`...
1. 配置:在项目中引入hibernate3.jar及其他依赖JAR文件,配置hibernate.cfg.xml文件,指定数据库连接参数、缓存策略等。 2. 实体类:创建Java实体类,用注解或XML定义其与数据库表的映射关系。 3. SessionFactory:...
3. 数据库驱动,例如mysql-connector-java,用于连接特定的数据库。 4. JSON处理库,如Jackson或Gson,用于将Java对象转换为JSON格式进行网络传输。 5. 文件上传相关的库,如commons-fileupload和commons-io,提供...
3. **配置Hibernate**:创建Hibernate配置文件,指定数据库连接信息、实体类扫描路径、缓存策略等。 4. **实体类和映射文件**:编写Java实体类,对应数据库表,创建对应的Hibernate映射文件(XML或注解形式)。 5. *...
1. **配置文件**:`hibernate.cfg.xml`,用于设置数据库连接信息、方言、缓存等。 2. **映射文件**:`.hbm.xml` 或注解,定义对象与数据库表的映射关系。 3. **Session** 接口:是 Hibernate 的核心,提供了与数据库...
文档“hibernater配置proxool.doc”可能包含有关使用Proxool作为连接池的详细步骤。Proxool是一个轻量级的开源JDBC连接池,它具有监控和性能报告功能,适合中小型项目使用。 以下是配置Hibernate连接池的一般步骤:...
连接数据库,创建Statement或PreparedStatement,执行SQL语句,最后关闭连接。 在案例中,我们可能已经实现了如下功能: - **增加(Create)**:创建一个实体对象,通过反射设置其属性,然后使用反射调用对应的DAO...
Hibernate的hibernate.cfg.xml,用于配置数据库连接;Struts的struts.xml,定义Action和结果映射。 2. Model类:代表业务对象,它们通常会继承Hibernate的Entity接口或使用注解进行映射。 3. DAO(Data Access ...
Hibernate的出现,通过自动管理数据库连接、事务、SQL生成等,极大地简化了这一过程,使得开发者可以专注于业务逻辑的实现。 ### Hibernate是什么? Hibernate是由Gavin King创建的一个开源框架,它是Java世界中最...
通过连接数据库,选择任意数据表生成实体模型,支持简单SQL语句查询,直接浏览数据表结构和数据。 支持多项目管理,文件编辑,一键式生成代码。快速构建基础框架代码,并支持MVC 3层构架。 生成的项目可以直接导入...
-- 数据库连接信息 --> <!-- 配置 Hibernate SessionFactory --> <!-- 其他配置信息 --> ``` - 配置 DAO 层的 Bean 实例。 - 示例配置文件 `applicationContext-dao.xml`: ```xml xmlns:xsi...
3. **配置Hibernate**:添加hibernate-entitymanager、hibernate-core等依赖,配置hibernate.cfg.xml,定义数据库连接信息、实体类映射等。 4. **整合Struts2与Spring**:使用Spring插件struts2-spring-plugin.jar...
2. **配置文件**:Hibernate的配置文件(hibernate.cfg.xml)用于设置数据库连接信息,包括驱动类、URL、用户名和密码等,以及指定实体类的映射文件。 3. **实体类**:在Hibernate中,每个数据库表都对应一个Java类...
- 创建`hibernate.cfg.xml`配置文件,设置数据库连接信息,包括驱动、URL、用户名和密码等。 - 在`web.xml`中配置Hibernate Session Factory,添加如下代码: ```xml <servlet-name>hibernate ...
3. 配置文件(Configuration):hibernate.cfg.xml,配置数据库连接等信息。 4. SessionFactory工厂类:用于创建SessionFactory实例。 5. DAO(Data Access Object):如UserDAO.java,封装对数据库的操作。 6. ...
3. 集成Hibernate:配置Hibernate的SessionFactory,指定数据库连接信息、实体类映射文件等。然后,通过Spring的HibernateTemplate或SessionFactoryBean,将Hibernate集成到Spring中,以便在Controller中方便地进行...
5. **配置过程**: 在这个项目中,开发者需要在`jdbc.properties`中配置数据库连接参数,然后在`applicationContext.xml`中配置Hibernate的SessionFactory,包括数据源、实体扫描路径、事务管理器等。接着在`struts....
2. **配置文件**:编写`applicationContext.xml`(Spring配置)和`hibernate.cfg.xml`(Hibernate配置),定义bean、数据源、session工厂等,并配置数据库连接参数。 3. **实体类和映射文件**:创建Java实体类来...