BlogJava 联系 聚合 管理  

Blog Stats

随笔档案(17)

文章档案(1)


GaoWei

package dao.hibernate;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import dao.Dao;

public class AccountDaoImpl extends HibernateDaoSupport implements Dao{

  public Serializable sava(Object object) {
    return getHibernateTemplate().save(object);
    
  }
 
  public List getObject(Class clazz){
    return getHibernateTemplate().loadAll(clazz);
  }

public Object getObject(Class clazz,Serializable id){
    return getHibernateTemplate().get(clazz, id);
  }

  public List findAllBy(final Class clazz,final String name,final String value){
    return (List) getHibernateTemplate().execute(
        new HibernateCallback(){

          public Object doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria=session.createCriteria(clazz);
            criteria.add(Restrictions.eq(name,value));
            List list=criteria.list();
            return list;
            
          }
      
      
    });
  }
 
  public Object findBy(final Class clazz,final String name,final String value){
    return getHibernateTemplate().execute(new HibernateCallback(){

      public Object doInHibernate(Session session) throws HibernateException, SQLException {
        Criteria critera=session.createCriteria(clazz);
        critera.add(Restrictions.eq(name,value));
        List list=critera.list();
        return list==null||list.isEmpty()?null:list.iterator().next();
        
      }
      
      
    });
  }
 
  public void updateObject(Object object){
    getHibernateTemplate().update(object);
  }
 
  public void removeObject(final Class clazz,Serializable id){
    getHibernateTemplate().delete(getObject(clazz,id));
  }
 
  public void removeObject(Object o){
    getHibernateTemplate().delete(o);
  }

}


















<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE
    beans
    PUBLIC
    "-//SPRING//DTD BEAN 2.0//EN"
    "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>


<bean id="daoImpl" class="dao.hibernate.AccountDaoImpl">
         <property name="sessionFactory" ref="sessionFactory"/>
</bean>


    <bean
        id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
        parent="AbstractSessionFactory">
        <property name="annotatedClasses">
            <list>
                <value>domain.Account</value>
               
                <value>domain.Info</value>
               
            </list>
        </property>
    </bean>
    <bean
        id="AbstractSessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
        abstract="true">
        <!--
            <property name="mappingDirectoryLocations">
            <list>
            <value>classpath*:/cn/ynzc/news/domain/hbm/</value>
            <value>classpath*:/cn/ynzc/news/document/domain/hbm/</value>
            <value>classpath*:/cn/ynzc/news/guestbook/domain/hbm/</value>
            </list>
            </property>
        -->
        <property
            name="dataSource"
            ref="DataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
                <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
                <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
            </props>
        </property>
        <property
            name="lobHandler"
            ref="DefaultLobHandler" />
    </bean>
    <!--  连接信息配置 -->
    <bean
        id="PlaceholderConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property
            name="locations"
            value="classpath:jdbc.properties" />
    </bean>
    <bean
        id="DataSource"
        class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property
            name="driverClassName"
            value="${jdbc.driver}" />
        <property
            name="username"
            value="${jdbc.user}" />
        <property
            name="password"
            value="${jdbc.password}" />
        <property
            name="url"
            value="${jdbc.url}" />
        <property
            name="initialSize"
            value="${jdbc.initialSize}" />
        <property
            name="maxActive"
            value="${jdbc.maxActive}" />
        <property
            name="maxIdle"
            value="${jdbc.maxIdle}" />
        <property
            name="maxWait"
            value="${jdbc.maxWait}" />
        <property
            name="minIdle"
            value="${jdbc.minIdle}" />
    </bean>
    <bean
        id="DefaultLobHandler"
        class="org.springframework.jdbc.support.lob.DefaultLobHandler"
        lazy-init="true" />
    <bean
        id="OracleLobHandler"
        class="org.springframework.jdbc.support.lob.OracleLobHandler"
        lazy-init="true">
        <property name="nativeJdbcExtractor">
            <bean
                class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
                lazy-init="true" />
        </property>
    </bean>
    <bean
        id="TransactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property
            name="sessionFactory"
            ref="sessionFactory" />
    </bean>
</beans>















jdbc.driver       =com.mysql.jdbc.Driver
jdbc.url          =jdbc:mysql://127.0.0.1/test
jdbc.user       =root
jdbc.password   =

jdbc.initialSize     =5
jdbc.maxActive  =60
jdbc.maxIdle      =10
jdbc.maxWait     =50
jdbc.minIdle       =5

#hibernate
hibernate.dialect                =org.hibernate.dialect.MySQLDialect
#hibernate.dialect                =org.hibernate.dialect.Oracle9Dialect
hibernate.show_sql                =true
hibernate.format_sql            =true
#hibernate.hbm2ddl.auto            =create-drop
hibernate.hbm2ddl.auto            =update
hibernate.cache.use_query_cache    =false
hibernate.cache.provider_class    =org.hibernate.cache.OSCacheProvider
 
 

posted on 2007-01-14 01:10 gggg874 阅读(324) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问