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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









マグネット リンクは、リソースをダウンロードするためのリンク方法であり、従来のダウンロード方法よりも便利で効率的です。マグネット リンクを使用すると、中間サーバーに依存せずに、ピアツーピア方式でリソースをダウンロードできます。この記事ではマグネットリンクの使い方と注意点を紹介します。 1. マグネット リンクとは? マグネット リンクは、P2P (Peer-to-Peer) プロトコルに基づくダウンロード方式です。ユーザーはマグネット リンクを通じてリソースの発行者に直接接続し、リソースの共有とダウンロードを完了できます。従来のダウンロード方法と比較して、磁気

紅国短編劇は短編劇を鑑賞するためのプラットフォームであるだけでなく、小説やその他の刺激的なコンテンツを含む豊富なコンテンツの宝庫でもあります。これは間違いなく、読書が好きな多くのユーザーにとって大きな驚きです。ただし、多くのユーザーは、Hongguo Short Play でこれらの小説をダウンロードして視聴する方法をまだ知りません。以下では、この Web サイトの編集者が詳細なダウンロード手順を提供します。必要なすべての人に役立つことを願っています。パートナー。紅果寸劇をダウンロードして視聴するにはどうすればよいですか? 答え: [紅果寸劇] - [オーディオブック] - [記事] - [ダウンロード]。具体的な手順: 1. まず、Hongguo Short Drama ソフトウェアを開き、ホームページに入り、ページ上部の [本を聴く] ボタンをクリックします; 2. 次に、小説ページで多くの記事コンテンツが表示されます。

自分のコンピュータで他人の Steam アカウントにログインし、その他人のアカウントに壁紙ソフトウェアがインストールされている場合、自分のアカウントに切り替えた後、Steam は他人のアカウントに登録されている壁紙を自動的にダウンロードします。 Steam クラウドの同期をオフにします。別のアカウントにログインした後に、wallpaperengine が他の人の壁紙をダウンロードした場合の対処方法 1. 自分の steam アカウントにログインし、設定でクラウド同期を見つけて、steam クラウド同期をオフにします。 2. 以前にログインしたことのある他の人の Steam アカウントにログインし、壁紙クリエイティブ ワークショップを開き、サブスクリプション コンテンツを見つけて、すべてのサブスクリプションをキャンセルします。 (将来壁紙が見つからない場合は、まず壁紙を収集してからサブスクリプションをキャンセルできます) 3. 自分の Steam に戻ります。

最近、多くのユーザーから、115:// で始まるリンクをダウンロードするにはどうすればよいかという質問が編集者に寄せられました。 115:// で始まるリンクをダウンロードしたい場合は、115 ブラウザを使用する必要があります。115 ブラウザをダウンロードしたら、以下のエディタによって作成されたダウンロード チュートリアルを見てみましょう。 115:// で始まるリンクをダウンロードする方法の紹介 1. 115.com にログインし、115 ブラウザをダウンロードしてインストールします。 2. 115 ブラウザのアドレス バーに chrome://extensions/ と入力し、拡張機能センターに入り、Tampermonkey を検索して、対応するプラグインをインストールします。 3. 115 ブラウザのアドレス バーに「Grease Monkey Script: https://greasyfork.org/en/」と入力します。

123クラウドディスクは多くのファイルをダウンロードできますが、具体的にはどのようにファイルをダウンロードするのですか?ユーザーは、ダウンロードしたいファイルを選択してクリックしてダウンロードするか、ファイルを右クリックしてダウンロードを選択できます。この 123 クラウド ディスクからファイルをダウンロードする方法の紹介では、具体的なダウンロード方法を説明しますので、よく知らない友達は急いで見てください。 123 クラウド ディスクからファイルをダウンロードする方法 1. まずソフトウェアを開き、ダウンロードする必要があるソフトウェアをクリックすると、ダウンロード ボタンが表示されます。 2. または、ソフトウェアを右クリックすると、リストにダウンロード ボタンが表示されます。 3. ダウンロードウィンドウが表示されるので、ダウンロードする場所を選択します。 4. 選択した後、「ダウンロード」をクリックしてこれらのファイルをダウンロードします。

現在、ビデオ アカウントをプレイし始めている人が増えています。ビデオ アカウントは、ビデオ アカウントを通じて日常生活を共有し、お金を稼ぐことができる短いビデオ プラットフォームでもあります。最近、WeChat ビデオ アカウントからのビデオがダウンロードされない理由を尋ねる友人を見かけました。Yang Shuaikang が試しに行ってみましたが、確かにダウンロード ボタンはなく、他の方法でビデオを抽出するしかありませんでした。今日、Yang Shuaikang は共有します愚かなメソッドを持っています、見に来てください。 WeChat ビデオ アカウントからビデオを抽出する方法 1. WeChat のコンピューター バージョンを開き、左側にある [ビデオ アカウント] を見つけます; 2. 検索を通じてダウンロードしたいビデオを見つけます; 3. 最後に、画面録画ツールを使用して、録画したビデオのサイズを指定して、最後に録画して編集するだけです。 PS: 1. この方法はコンピュータ版でのみ記録でき、携帯電話では記録できません。

superpeople ゲームは、steam クライアントを通じてダウンロードできます。このゲームのサイズは約 28G です。ダウンロードとインストールには通常 1 時間半かかります。ここでは、具体的なダウンロードとインストールのチュートリアルを紹介します。グローバルクローズドテストへの新しい申請方法 1) Steamストア(Steamクライアントダウンロード)で「SUPERPEOPLE」を検索 2) 「SUPERPEOPLE」ストアページ下部にある「SUPERPEOPLEクローズドテストへのアクセスをリクエスト」をクリック 3) request accessボタン、Steamライブラリで「SUPERPEOPLECBT」ゲームが確認できます 4)「SUPERPEOPLECBT」内のインストールボタンをクリックしてダウンロード

多くのユーザーはQuark Network Diskを使用するときにファイルをダウンロードする必要がありますが、ファイルをローカルに保存したいので、どのように設定すればよいでしょうか?このサイトでは、Quark Network Diskからダウンロードしたファイルをローカルコンピュータに保存する方法を詳しくユーザーに紹介します。 Quarkネットワークディスクからダウンロードしたファイルをローカルコンピュータに保存する方法 1. Quarkを開き、アカウントにログインし、リストアイコンをクリックします。 2. アイコンをクリックした後、ネットワークディスクを選択します。 3. Quark Network Diskに入ったら、「My Files」をクリックします。 4. [マイ ファイル] に入ったら、ダウンロードするファイルを選択し、三点アイコンをクリックします。 5. ダウンロードしたいファイルにチェックを入れ、「ダウンロード」をクリックします。
