所需要的最小的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

          創(chuàng)建實例類

          package com.hujuan.bean;

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

          @Entity
          //默認情況下表名稱是根據(jù)實體類名稱創(chuàng)建的,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表示根據(jù)數(shù)據(jù)庫由Hibernate自動選擇生成策略,也可以省略寫@GeneratedValue
              
          //值為IDENTITY表示主鍵自增長
              
          //值為SEQUENCE表示主鍵采用序列的方式
              
          //值為TABLE各個數(shù)據(jù)庫都通用,但效率較低
              @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所以必須有一個空的構(gòu)造函數(shù)

          JPA的配置文件

          JPA規(guī)范要求配置文件在類路徑的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事務(wù)類型包括全局事務(wù)類型JTA和本地事務(wù)類型 RESOURCE_LOCAL-->
             
          <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
              
          <properties>
                        
          <!-- 數(shù)據(jù)庫方言 -->
           
          <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>    <!-- 建表方式,value值為creat-drop時表示創(chuàng)建應(yīng)用的時候建表,結(jié)束應(yīng)用的時候表自動刪除;
               值為update表示如果映射元數(shù)據(jù)不存在則建立表,如果映射元數(shù)據(jù)存在并新增加了字段則會添加到數(shù)據(jù)庫表中 
          -->
                  
          <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 © 胡娟

          主站蜘蛛池模板: 土默特左旗| 灵武市| 永州市| 姚安县| 嵩明县| 故城县| 靖边县| 隆安县| 湾仔区| 永善县| 霍州市| 惠来县| 景宁| 溆浦县| 宜良县| 本溪市| 腾冲县| 金阳县| 云南省| 福泉市| 喜德县| 班戈县| 华池县| 双城市| 民丰县| 柯坪县| 甘孜县| 东山县| 海淀区| 泽普县| 潜江市| 周宁县| 玛多县| 大荔县| 枝江市| 吉林市| 平果县| 阳高县| 苍山县| 思茅市| 逊克县|