<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java綠地(~ming~)

    Java 草地

    常用鏈接

    統(tǒng)計(jì)

    最新評(píng)論

    Spring整合Hibernate配置

    SpringHibernate的整合:


    a.properties
    文件裝配:<bean id="propertyConfiguer"

    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

        <property name="locations">  <list>

    <value>classpath:mypack/jdbc.properties</value>

    <value>classpath:mypack/hibernate.properties</value></list></property> </bean>

      b.數(shù)據(jù)源的裝配:<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

          <property name="driverClassName" value="${db.driver}"></property>

          <property name="url" value="${db.url}"></property>

          <property name="username" value="${db.user}"></property>

          <property name="password" value="${db.password}"></property>   </bean>

     

     c. <bean id="sessionFactory"   //接管HibernatesessionFactory

    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean   >

         <property name="dataSource" ref="dataSource"></property>

         <property name="mappingDirectoryLocations">  //加載映射文件

           <list> <value>classpath:mypack</value> </list> </property> //采取文件目錄形式

         <property name="hibernateProperties">  <props>  //加載Hibernate屬性配制

             <prop key="hibernate.dialect">${hibernate.dialect}</prop>   <prop key="hibernate.transaction.factory_class">${hibernate.transaction.factory_class}

    </prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>        

    <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}

    </prop>      </props>     </property>   </bean>

      

    d.sessionFactory注入手動(dòng)編寫的DAO    // HibernateDaoSupport需要這個(gè)屬性

    <bean id="userDao" class="mypack.UserDaoHibernate">

         <property name="sessionFactory" ref="sessionFactory"></property>   </bean>

     

    e.Spring DAO模式:專用APIß-DAO模板(Templete)ß-DAO支持類(Support)ß--手動(dòng)編寫DAO

      f.Model: public class User {private Integer id;   private String name;

                       private Date birthday;...getter/setter; }

      g.Dao接口: public interface UserDao {

        public void addUser(User user);  public void addUsers(List<User> users);

        public void updateUser(User user);  public void delete(Integer id);

        public User getUser(Integer userId);  public List getUsers();

    public int getUserCounts();   public User getUserById(Integer id);  }

     

     h. public class UserDaoHibernate extends HibernateDaoSupport implements UserDao {

        //HibernateDaoSupport 中存在getHibernateTemplate方法進(jìn)行數(shù)據(jù)庫操作

    public void addUser(User user) { getHibernateTemplate().saveOrUpdate(user);  }

    saveOrUpdate:Spring自動(dòng)判斷id,存在就update()如游離狀態(tài),不存在就save()比如自由狀態(tài)

     

    public void addUsers(List<User> users) { getHibernateTemplate().saveOrUpdateAll(users);}//Spring自動(dòng)遍歷集合的方法

        public void delete(Integer id) {//User user=new User();user.setId(id);

    //getHibernateTemplate().delete(user);刪除單條紀(jì)錄且不采用預(yù)處理方式

    String hql="delete from User where id=?"; getHibernateTemplate().bulkUpdate(hql,id);}//進(jìn)行批處理且采用預(yù)處理方式

     

        public User getUser(Integer userId) {  

            return (User) getHibernateTemplate().load(User.class, userId);

            //return (User) getHibernateTemplate().get(User.class, userId); }

        Load返回實(shí)體代理類類型,此時(shí)類裝配必須是lazy=”false”,否則session會(huì)關(guān)閉

    Get返回實(shí)體類類型,lazy=”true”默認(rèn)即可!

       

        public int getUserCounts() {    String hql="select count(*) from User";

    return (Integer) getHibernateTemplate().find(hql).get(0); }//從集合中得第一條

     

        public List getUsers() {

       //String hql="from User"; return getHibernateTemplate().find(hql);

            String sql="from User u where u.id=? and u.name=?";

            Object[] params={1,"nihao"};   //返回多個(gè)屬性得到數(shù)組

            return getHibernateTemplate().find(sql,params);  }

      

        public void updateUser(User user) { 

            getHibernateTemplate().update(user);    }

        public User getUserById(Integer id){//預(yù)處理得到單條紀(jì)錄

            String hql="from User u where u.id=?";

            return (User) getHibernateTemplate().find(hql,id);  } }

     

    i.Hibernate映射文件:<hibernate-mapping package="mypack">

       <class name="User" table="t_user" lazy="false">

          <id name="id" column="id" type="integer">

              <generator class="native"></generator>      </id>

          <property name="name" column="name" type="string"></property>

          <property name="birthday" column="birthday" type="timestamp"></property>

       </class> </hibernate-mapping>

    posted on 2007-08-17 19:09 mrklmxy 閱讀(2891) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲AV永久无码区成人网站| 91老湿机福利免费体验| 四虎精品免费永久免费视频| 美女露隐私全部免费直播| 亚洲av片在线观看| 色综合久久精品亚洲国产| 老牛精品亚洲成av人片| 亚洲A∨精品一区二区三区下载| 亚洲日韩国产欧美一区二区三区| 亚洲人成网站免费播放| 亚洲国产成人久久精品软件| 色吊丝免费观看网站| 九九免费精品视频在这里| 国产日韩AV免费无码一区二区三区| 人人爽人人爽人人片A免费 | 免费成人午夜视频| 亚洲国产精品第一区二区三区| 亚洲精品无码99在线观看| 国产精品亚洲产品一区二区三区 | 男人的天堂亚洲一区二区三区 | 一级黄色免费毛片| 久久一区二区三区免费| 免费人成毛片动漫在线播放| 久久久久久久99精品免费| 亚州免费一级毛片| 四虎在线免费播放| 亚洲日韩在线第一页| 亚洲爆乳精品无码一区二区三区| 久久亚洲国产成人精品性色| 亚洲国产91在线| 羞羞漫画在线成人漫画阅读免费| 中文在线免费不卡视频| 18禁美女黄网站色大片免费观看| 亚洲成年人免费网站| 免费无码又爽又高潮视频| 亚洲精品色婷婷在线影院| 无码乱人伦一区二区亚洲| 亚洲综合久久一本伊伊区| 国产成人 亚洲欧洲| 大地资源中文在线观看免费版 | 国产精品小视频免费无限app|