程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java自界說靜態鏈接數據庫示例

java自界說靜態鏈接數據庫示例

編輯:關於JAVA

java自界說靜態鏈接數據庫示例。本站提示廣大學習愛好者:(java自界說靜態鏈接數據庫示例)文章只能為提供參考,不一定能成為您想要的結果。以下是java自界說靜態鏈接數據庫示例正文



package dao;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;

/**
 * @author minxuenetcn
 */
public class HibernateSessionFactory { 

    private final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); 
    private Configuration configuration = new Configuration();  
    private org.hibernate.SessionFactory sessionFactory; 

    /**
     * hibernate.cfg.xml
     * @param configFile
     */
    public void setConfiguration(String configFile){
     this.configuration=new Configuration();
     configuration.configure(configFile);

    } 
    /**
     * Returns the ThreadLocal Session instance.
     *  @return Session
     *  @throws HibernateException
     */ 
    public Session getSession() throws HibernateException { 
        Session session = (Session) threadLocal.get(); 
        if (session == null || !session.isOpen()) { 
            if (sessionFactory == null) { 
                rebuildSessionFactory(); 
            } 
            session = (sessionFactory != null) ? sessionFactory.openSession() 
                    : null; 
            threadLocal.set(session); 
        } 
        return session; 
    } 
    /**
     *  Rebuild hibernate session factory
     *
     */ 
    public void rebuildSessionFactory() {   

     try { 
            sessionFactory = this.configuration.buildSessionFactory(); 
        } catch (Exception e) { 
            System.err 
                    .println("%%%% Error Creating SessionFactory %%%%"); 
            e.printStackTrace(); 
        } 
    } 

    /**
     *  Close the single hibernate session instance.
     *
     *  @throws HibernateException
     */ 
    public void closeSession() throws HibernateException { 
        Session session = (Session) threadLocal.get(); 
        threadLocal.set(null); 
        if (session != null) { 
            session.close(); 
        } 
    } 
    /**
     *  return session factory
     *
     */ 
    public org.hibernate.SessionFactory getSessionFactory() { 
        return sessionFactory; 
    } 
    /**
     *  return hibernate configuration
     */ 
    public Configuration getConfiguration() { 
        return configuration; 
    } 
}

�下:

// parcelable對象傳遞辦法
public void setParcelableMethod() {
  Person person = new Person();
  person.setmName("王海康");
  person.setmSex("男");
  person.setmAge(45);
  Intent intent = new Intent(this, PersonTest.class);
  Bundle bundle = new Bundle();
  bundle.putParcelable(PAR_KEY, person);
  intent.putExtras(bundle);
  startActivity(intent);
}

// parcelable對象獲得辦法
public Person getParcelableMethod(){
  Person mPerson = (Person)getIntent().getParcelableExtra(PAR_KEY);
  return mPerson;
}

2)傳遞對象列表,詳細代碼以下:
須要留意的是,若List personList = new ArrayList();則會報錯,由於上面挪用的putParcelableArrayList()函數個中一個參數的類型為ArrayList。

// parcelable對象List傳遞辦法
public void setParcelableListMethod() {
  ArrayList<Person> personList = new ArrayList<Person>();
  Person person1 = new Person();
  person1.setmName("王海康");
  person1.setmSex("男");
  person1.setmAge(45);
  personList.add(person1);
  Person person2 = new Person();
  person2.setmName("薛岳");
  person2.setmSex("男");
  person2.setmAge(15);
  personList.add(person2);
  Intent intent = new Intent(this, PersonTest.class);
  Bundle bundle = new Bundle();
  bundle.putParcelableArrayList(PAR_LIST_KEY, personList);
  intent.putExtras(bundle);
  startActivity(intent);
}

// parcelable對象獲得辦法
public ArrayList<Person> getParcelableMethod(){
  ArrayList<Person> mPersonList = getIntent().getParcelableExtra(PAR_LIST_KEY);
return mPersonList;
}

3)最初引見一個投契取巧的辦法:
不消繼續Parcelable或Serializable辦法便可完成IPC中對象的傳遞。這類辦法的完成道理不是很明確,只曉得代碼中new ArrayList()前往的實際上是一個EmptyArray.OBJECT數組,不外我感到應當照樣體系挪用Serializable停止序列化的,假如列位讀者有好的設法主意,迎接告訴。
詳細代碼以下:

//對象List傳遞
public void setObjectMethod(){
  ......(省略)
  ArrayList list = new ArrayList();
  //ObjectList為某一對象列表
  list.add(ObjectList);
  bundle.putParcelableArrayList(PAR_LIST_KEY, list);
  intent.putExtras(bundle);
  startActivity(intent);
}

//獲得對象List
ArrayList list = bundle.getParcelableArrayList("list");
//強轉成你本身界說的list,如許ObjectList就是你傳過去的誰人list了。
ObjectList= (List<Object>) list.get(0);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved