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

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

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

    JPA+Hibernate 3.3 學習小結——第一個JPA程序

    Posted on 2009-06-20 18:38 胡娟 閱讀(2040) 評論(0)  編輯  收藏 所屬分類: JAVA

    所需要的最小的jar(注意:jar包所在路徑不能含有空格或中文)

    hibernate3.jar
    hibernate
    -cglib-repack-2.1_3.jar
    slf4j
    -api-1.5.2.jar
    javassist
    -3.4.GA.jar
    jta
    -1.1.jar
    antlr
    -2.7.6.jar
    commons
    -collections-3.1.jar
    dom4j
    -1.6.1.jar
    ejb3
    -persistence.jar
    hibernate
    -annotations.jar
    hibernate
    -commons-annotations.jar
    hibernate
    -entitymanager.jar
    log4j.jar
    slf4j
    -log4j12.jar

    創建實例類

    package com.hujuan.bean;

    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;

    @Entity
    //默認情況下表名稱是根據實體類名稱創建的,name可以修改表名稱
    @Table(name="person_table")
    public class Person {
        
        
    private Integer id;
        
    private String userName;
        
        
    public Person(){
        }
        
        
    public Person(String userName) {
            
    this.userName = userName;
        }
        
    //主鍵生成策略@GeneratedValue(strategy=GenerationType.AUTO),
        
    //值為AUTO表示根據數據庫由Hibernate自動選擇生成策略,也可以省略寫@GeneratedValue
        
    //值為IDENTITY表示主鍵自增長
        
    //值為SEQUENCE表示主鍵采用序列的方式
        
    //值為TABLE各個數據庫都通用,但效率較低
        @Id  @GeneratedValue
        
    public Integer getId() {
            
    return id;
        }
        
    public void setId(Integer id) {
            
    this.id = id;
        }
        
    public String getUserName() {
            
    return userName;
        }
        
    public void setUserName(String userName) {
            
    this.userName = userName;
        }
    }

    注意:因為采用的是Hibernate所以必須有一個空的構造函數

    JPA的配置文件

    JPA規范要求配置文件在類路徑的META-INF目錄下放置名稱為固定的的,即persistence.xml
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
                 xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation
    ="http://java.sun.com/xml/ns/persistence      http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
                    version
    ="1.0">
        <!-- 持久化單元,transaction-type事務類型包括全局事務類型JTA和本地事務類型 RESOURCE_LOCAL-->
       
    <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
        
    <properties>
                  
    <!-- 數據庫方言 -->
     
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>    <!-- 建表方式,value值為creat-drop時表示創建應用的時候建表,結束應用的時候表自動刪除;
         值為update表示如果映射元數據不存在則建立表,如果映射元數據存在并新增加了字段則會添加到數據庫表中 
    -->
            
    <property name="hibernate.hbm2ddl.auto" value="update"/>
             
    <property name="hibernate.connection.driver_class" value="org.gjt.mm.mysql.Driver"/>
             
    <property name="hibernate.connection.username" value="root"/>
             
    <property name="hibernate.connection.password" value="root"/>
             
    <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpadb"/>      
          
    </properties>
       
    </persistence-unit>
    </persistence>
    測試類
    package com.hujuan.test;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import org.junit.BeforeClass;
    import org.junit.Test;
    import com.hujuan.bean.Person;
    public class PersonTest {
        @BeforeClass
        
    public static void setUpBeforeClass() throws Exception {
        }
         @Test
        
    public void save(){
    //EntityManagerFactory相當于Hibernate中的sessionFactory
    //Persistence.createEntityManagerFactory("jpa")與配置文件中的持久化單元名稱必須相同
            EntityManagerFactory factory = Persistence.createEntityManagerFactory("jpa");
    //EntityManager相當于Hibernate中session
            EntityManager em = factory.createEntityManager();
            em.getTransaction().begin();
            
    //保存(持久化)方法
            em.persist(new Person("Tom"));
            em.getTransaction().commit();
            em.close();
            factory.close();
        }
    }

     

    posts - 28, comments - 5, trackbacks - 0, articles - 1

    Copyright © 胡娟

    主站蜘蛛池模板: 免费看搞黄视频网站| 亚洲精品蜜桃久久久久久| 亚洲αv在线精品糸列| 成人嫩草影院免费观看| 成人网站免费观看| 亚洲∧v久久久无码精品| 精品人妻系列无码人妻免费视频 | 日韩一级在线播放免费观看| 亚洲国产精品久久久久秋霞影院| 日本亚洲免费无线码 | 亚洲AV无码之国产精品| 国产美女做a免费视频软件| 亚洲AV综合永久无码精品天堂| 黄色成人网站免费无码av| 国产综合激情在线亚洲第一页| 四虎影视免费在线| 亚洲AV无码专区在线观看成人| 亚洲精品无码专区在线在线播放| 亚洲中文无码永久免费| 亚洲乱妇熟女爽到高潮的片| 免费欧洲美女牲交视频| 一个人看的www在线免费视频 | 亚洲天堂中文字幕在线| 羞羞漫画小舞被黄漫免费| 亚洲Aⅴ无码一区二区二三区软件 亚洲AⅤ视频一区二区三区 | 国产乱子影视频上线免费观看| 性xxxx视频免费播放直播| 亚洲欧洲日本精品| 国产亚洲精品无码专区 | 免费国产成人午夜电影| yellow免费网站| 中文字幕亚洲情99在线| 亚洲AV成人精品网站在线播放 | 国产成A人亚洲精V品无码| 亚洲黄色免费电影| 亚洲色偷偷综合亚洲av78| 亚洲午夜福利精品无码| 免费无码又爽又高潮视频 | 中文字幕av免费专区| 久久精品国产精品亚洲艾| 一本色道久久88综合亚洲精品高清|