再來一發!我的JPA入門

好吧,今天一天都在研究JPA,剛剛有點結果,就迫不及待過來寫博客了!
老規矩,不廢話了,直接上代碼!
一、搭建環境

這裏用到了maven的properties標籤,主要是爲了確保版本號一致。

<properties>
        <jee.version>7.0</jee.version>
        <h2.version>1.3.176</h2.version>
        <hibernate.version>4.3.8.Final</hibernate.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>${jee.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>${h2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
    </dependencies>

二、配置persistence.xml

這裏要注意!!!
JPA的配置文件persistence.xml的默認位置是src/main/resources/META-INF下面
META-INF是自己創建的,系統好像不會自動生成~
根據數據庫的不同,配置文件不同。
在這裏我用的數據庫是MySQL。
persistence.xml的配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<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">

   <persistence-unit name="mysqlJPA" transaction-type="RESOURCE_LOCAL">  
       <properties>  
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />  
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />  
            <property name="hibernate.connection.username" value="root" />  
            <property name="hibernate.connection.password" value="root123" />  
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpatest" />  
            <property name="hibernate.max_fetch_depth" value="3" />  
            <property name="hibernate.hbm2ddl.auto" value="update" />  
        </properties>  
    </persistence-unit>
</persistence>

三、實體類
還是代碼最直接~

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

/*
 * @author sjia
 * @Date 2017年4月14日--下午10:24:45
 */
@Entity
public class Person {
    private int id;
    private String name;
    @Id @GeneratedValue
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    @Column(length=12)
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

四、可以測試啦!

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.junit.Test;

/*
 * @author sjia
 * @Date 2017年4月14日--下午10:26:37
 */
public class TestCase {
    @Test
    public void createTable(){
        //驗證生成表是否正確
        EntityManagerFactory factory=Persistence.createEntityManagerFactory("mysqlJPA");
        factory.close();
    }
}

五、測試結果
上圖!!!
喜聞樂見的綠色

讓我們再來看看數據庫~
這裏寫圖片描述

如我所料哈哈哈!
好了接下來我要深入研究一下了!
來得及可能還有第二彈~

發佈了39 篇原創文章 · 獲贊 10 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章