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

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

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

    Java綠地(~ming~)

    Java 草地

    常用鏈接

    統計

    最新評論

    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.數據源的裝配:<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注入手動編寫的DAO    // HibernateDaoSupport需要這個屬性

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

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

     

    e.Spring DAO模式:專用APIß-DAO模板(Templete)ß-DAO支持類(Support)ß--手動編寫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方法進行數據庫操作

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

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

     

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

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

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

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

     

        public User getUser(Integer userId) {  

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

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

        Load返回實體代理類類型,此時類裝配必須是lazy=”false”,否則session會關閉

    Get返回實體類類型,lazy=”true”默認即可!

       

        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"};   //返回多個屬性得到數組

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

      

        public void updateUser(User user) { 

            getHibernateTemplate().update(user);    }

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

            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 閱讀(2890) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 丁香花在线视频观看免费| 老司机午夜在线视频免费| 青柠影视在线观看免费| 国产专区一va亚洲v天堂| 在线jlzzjlzz免费播放| 亚洲人成影院在线无码观看| 免费看美女午夜大片| 亚洲免费视频网站| 免费夜色污私人影院在线观看| 亚洲国产成人无码AV在线影院| 精品久久久久久久免费加勒比| 亚洲αⅴ无码乱码在线观看性色| 日韩精品无码人妻免费视频| 亚洲另类激情综合偷自拍| 无码av免费网站| 亚洲一区二区三区无码国产 | 在线亚洲人成电影网站色www| 一级做a免费视频观看网站| 亚洲精品卡2卡3卡4卡5卡区| 国产精品亚洲AV三区| mm1313亚洲精品无码又大又粗| 亚洲国产成人久久精品app| 成人免费毛片视频| 免费国产草莓视频在线观看黄| 亚洲精品无码永久中文字幕| 91福利免费视频| 亚洲av永久无码精品网址| 亚洲日韩中文在线精品第一| 一级毛片在线观看免费| 亚洲午夜精品久久久久久app| 亚洲成?v人片天堂网无码| 无码AV片在线观看免费| 亚洲日韩在线中文字幕综合 | 一区二区三区免费在线视频| 亚洲AV人人澡人人爽人人夜夜| 日本阿v免费费视频完整版| 色婷婷精品免费视频| 99久久亚洲综合精品成人网| 久9这里精品免费视频| 亚洲va久久久久| 在线免费观看污网站|