JPA初体验_MySQL
bitsCN.com
JPA,一套相当优秀的持久化规范,开始体验。
1、我使用Hibernate对JPA提供的实现,下载hibernate-release-4.1.1.Final.zip。解压。
在hibernate-release-4.1.1.Final/lib目录下有四个存放jar包的目录,其中
hibernate-release-4.1.1.Final/lib/jpa 存放hibernate对JPA提供实现的jar
hibernate-release-4.1.1.Final/lib/required 存放hibernate开发所需jar
这两个目录下的所有jar是我们体验JPA所必需的。
2、新建一个Java Project。
2.1 导入hibernate-release-4.1.1.Final/lib/jpa目录和hibernate-release-4.1.1.Final/lib/required目录下得所有jar
2.2 在项目的classpath路径下建立META-INF目录
在META-INF目录下建立persistence.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <persistence version="2.0" 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 5 http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 6 7 <!-- 为持久化单元取名为 myJPA --> 8 <persistence-unit name="myJPA" transaction-type="RESOURCE_LOCAL"> 9 <properties>10 <!--配置Hibernate方言 -->11 <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"></property>12 <!--配置数据库驱动 -->13 <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"></property>14 <!--配置数据库用户名 -->15 <property name="hibernate.connection.username" value="root"></property>16 <!--配置数据库密码 -->17 <property name="hibernate.connection.password" value="root"></property>18 <!--配置数据库url -->19 <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/jpa?useUnicode=true&characterEncoding=UTF-8"></property>20 <!--设置外连接抓取树的最大深度 -->21 <property name="hibernate.max_fetch_depth" value="3"></property>22 <!--自动输出schema创建DDL语句 -->23 <property name="hibernate.hbm2ddl.auto" value="update"></property> 24 </properties>25 </persistence-unit>26 27 </persistence>
用的是mysql,请建立一个名叫jpa的数据库。无需手动建表,执行测试的时候会自动建表。
3、项目视图如下:
4、编写实体类。
1 package com.cndatacom.jpa.entity; 2 3 import javax.persistence.Column; 4 import javax.persistence.Entity; 5 import javax.persistence.GeneratedValue; 6 import javax.persistence.Id; 7 import javax.persistence.Table; 8 9 @Entity10 @Table(name="t_user")11 public class User {12 13 /**14 * 主键15 */16 @Id17 @GeneratedValue18 private Long id;19 20 /**21 * 名字22 */23 @Column(name="name")24 private String name;25 26 /**27 * 密码28 */29 @Column(name="password")30 private String password;31 32 public Long getId() {33 return id;34 }35 36 public void setId(Long id) {37 this.id = id;38 }39 40 public String getName() {41 return name;42 }43 44 public void setName(String name) {45 this.name = name;46 }47 48 public String getPassword() {49 return password;50 }51 52 public void setPassword(String password) {53 this.password = password;54 }55 56 }
5、编写测试类。
1 package com.cndatacom.jpa.test; 2 3 import javax.persistence.EntityManager; 4 import javax.persistence.EntityManagerFactory; 5 import javax.persistence.Persistence; 6 7 import org.junit.After; 8 import org.junit.Before; 9 import org.junit.Test;10 11 import com.cndatacom.jpa.entity.User;12 13 14 public class TestJPA {15 16 EntityManagerFactory emf = null;17 18 @Before19 public void before() {20 //根据在persistence.xml中配置的persistence-unit name 创建EntityManagerFactory21 emf = Persistence.createEntityManagerFactory("myJPA");22 }23 24 /**25 * 添加用户26 */27 @Test28 public void addUser() {29 30 //创建一个用户31 User user = new User();32 user.setName("叶开");33 user.setPassword("yekai");34 35 //创建实体管理器对象36 EntityManager em = emf.createEntityManager();37 //开启事务38 em.getTransaction().begin();39 //持久化对象40 em.persist(user);41 //提交事务42 em.getTransaction().commit();43 //关闭EntityManager44 em.close();45 }46 47 /**48 * 修改用户49 */50 @Test51 public void modifyUser() {52 EntityManager em = emf.createEntityManager();53 em.getTransaction().begin();54 //查找id为1的User55 User user = em.find(User.class, 1L);//User 的主键id为Long型56 user.setName("李坏");57 //进行更新58 em.merge(user);59 em.getTransaction().commit();60 em.close();61 }62 63 /**64 * 删除用户65 */66 @Test67 public void deleteUser() {68 EntityManager em = emf.createEntityManager();69 em.getTransaction().begin();70 //查找id为1的User71 User user = em.find(User.class, 1L);//User 的主键id为Long型72 //进行删除73 em.remove(user);74 em.getTransaction().commit();75 em.close();76 }77 78 /**79 * 关闭EntityManagerFactory80 */81 @After82 public void after() {83 if(null != emf) {84 emf.close();85 }86 }87 88 }
6、一些说明。
@Entity 将领域标注为一个实体,表示要保存到数据库中。
@Table 指定在数据库中对应的表名
@Id 对应的属性是表的主键
@GeneratedValue 主键的产生策略,这里表示使用默认的GenerationType.AUTO
@Column 属性对应数据库表中的列,name指定列名,不写name的话,属性名和列名一致。
bitsCN.com

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

磁力連結是一種用於下載資源的連結方式,相較於傳統的下載方式更為便利和有效率。使用磁力連結可以透過點對點的方式下載資源,而不需要依賴中介伺服器。本文將介紹磁力連結的使用方法及注意事項。一、什麼是磁力連結磁力連結是一種基於P2P(Peer-to-Peer)協定的下載方式。透過磁力鏈接,使用者可以直接連接到資源的發布者,從而完成資源的共享和下載。與傳統的下載方式相比,磁

紅果短劇不僅是觀賞短劇的平台,更是內容豐富的寶庫,其中也包含了小說等精彩內容。對於許多熱愛閱讀的用戶來說,這無疑是一個巨大的驚喜。然而很多用戶們還不太了解究竟該如何在紅果短劇中下載並觀看這些小說內容,在下文中本站小編就將為大家帶來詳細的下載步驟介紹,希望能幫助到各位有需要的小夥伴們。紅果短劇怎麼下載觀看答案:【紅果短劇】-【聽書】-【文章】-【下載】。具體步驟:1、先打開紅果短劇軟體,進入到首頁中後我們點擊頁面上方的【聽書】按鈕;2、然後在小說的頁面中我們可以看到有很多的文章內容,在這

當你在自己電腦上登過別人steam帳號之後,剛好這個別人的帳號也有wallpaper軟體,切換回自己帳號之後steam就會自動下載別人帳號訂閱的桌布,使用者可以透過關閉steam雲端同步解決。 wallpaperengine登入別的號碼後下載別人的桌布怎麼辦1、登陸你自己的steam帳號,在設定裡面找到雲端同步,關閉steam雲端同步。 2.登陸你之前登陸的別人的steam帳號,打開wallpaper創意工坊,找到訂閱內容,然後取消全部訂閱。 (以後防止找不到壁紙,可以先收藏再取消訂閱)3、切換回自己的stea

最近有很多用戶都在問小編,115://開頭的連結怎麼下載?想要下載115://開頭的連結需要藉助115瀏覽器,大家下載好115瀏覽器後,再來看看下面小編整理好的下載教學。 115://開頭的鏈接下載方法介紹 1、登入115.com,下載115瀏覽器並安裝。 2、在115瀏覽器網址列輸入:chrome://extensions/,進入擴充中心,搜尋Tampermonkey,安裝對應插件。 3、在115瀏覽器網址列輸入: 油猴腳本:https://greasyfork.org/en/

123雲端碟是能夠下載很多檔案的,那麼具體該怎麼下載檔案呢?使用者可以選擇需要下載的文件,點擊下載,或是右鍵點選文件選擇下載。這篇123雲盤下載檔案方法介紹能夠告訴大家具體怎麼下載,還不是很了解的朋友趕快來看看吧! 123雲盤怎麼下載檔案1、先開啟軟體後,點選需要下載的軟體,然後在上面會有一個下載按鍵。 2、或者右鍵點選軟體,能夠在清單中看到下載的按鍵。 3、之後會有一個下載窗口,選擇需要下載的位置。 4.選擇好之後點選下載就能夠下載這些文件了。

超級人類(superpeople)遊戲可以透過steam客戶端下載遊戲,這款遊戲的大小在28G左右,下載到安裝通常需要一個半小時,以下為大家帶來具體的下載安裝教學!新的申請全球封閉測試方法1)在Steam商店(steam客戶端下載)搜尋“SUPERPEOPLE”2)點擊“SUPERPEOPLE”商店頁面下方的“請求SUPERPEOPLE封閉測試訪問權限”3)點擊請求訪問權限按鈕後,將在Steam庫中可確認「SUPERPEOPLECBT」遊戲4)在「SUPERPEOPLECBT」中點選安裝按鈕並下

現在越來越多人開始玩視訊號碼了,視訊號碼也是一個短視訊的平台,可以分享自己的日常生活,也可以透過視訊號碼去賺錢。最近看到有些朋友問微信視頻號的影片怎麼沒有下載的,楊帥康去試了試,確實沒有下載的按鈕,所以只能透過其他手段去進行影片的提取,今天楊帥康給大家分享一個笨的方法,過來看看吧。微信視訊號碼怎麼提取影片1、開啟我們的電腦版微信,在左側找到【影片號碼】;2、透過搜尋找到自己要下載的影片;3、最後使用錄影工具,調整好錄製影片的大小進行錄製,最後再剪輯一下就可以了。 PS:1、這個方法只能在電腦版錄製,手機上錄

不少的用戶們在使用夸克網盤的時候需要將文件下載下來,可我們想讓他保存在本地,那麼這要怎麼設定?以下就讓本站來為使用者來仔細的介紹一下夸克網盤下載檔案保存回本地的方法吧。 夸克網盤下載檔案儲存回本地的方法 1、開啟夸克,登入帳號進去,點選清單圖示。 2、點選圖示之後,選擇網盤。 3、進去夸克網盤之後,點選我的檔案。 4、進去我的文件之後,選擇要下載的文件,點擊三點圖示。 5、勾選要下載的文件,點選下載就行了。
