溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

發(fā)布時(shí)間:2020-02-29 03:56:34 來源:網(wǎng)絡(luò) 閱讀:331 作者:qq5d2d9e539cdbb 欄目:數(shù)據(jù)庫

1、配置JPA項(xiàng)目

JPA是類似于Hibernate的持久性規(guī)范,已成為Java EE 5規(guī)范的一部分。JPA使用Java 5注釋來控制將普通Java類(POJO)映射到數(shù)據(jù)庫表。

您可以通過創(chuàng)建任意受支持的基礎(chǔ)項(xiàng)目類型(例如Java或Web項(xiàng)目)來創(chuàng)建啟用JPA的項(xiàng)目,然后從MyEclipse菜單中將JPA構(gòu)面添加到該項(xiàng)目中。右鍵單擊該項(xiàng)目即可添加JPA構(gòu)面,然后從菜單中選擇MyEclipse > Project Facets > Install JPA Facet。同時(shí),還可以通過打開項(xiàng)目的“Project Facets”屬性,同時(shí)向項(xiàng)目添加多個(gè)構(gòu)面。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

提供持久性

MyEclipse為OpenJPA、Hibernate和EclipseLink JPA提供程序提供支持。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

數(shù)據(jù)庫配置

將項(xiàng)目與數(shù)據(jù)庫和架構(gòu)相關(guān)聯(lián),為設(shè)計(jì)時(shí)工具提供支持。如下圖所示,項(xiàng)目與本地MyEclipse Derby數(shù)據(jù)庫的數(shù)據(jù)庫驅(qū)動(dòng)程序關(guān)聯(lián)。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

除了可以依賴MyEclipse附帶的庫,還可以單擊下載圖標(biāo)MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)添加要包含在項(xiàng)目中的用戶庫。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

同時(shí),您還可以右鍵單擊該項(xiàng)目從菜單中選擇“Properties”,展開MyEclipse > Project Facets,然后選擇Java Persistence,打開Java Persistence properties頁面隨時(shí)更改JPA項(xiàng)目的數(shù)據(jù)庫驅(qū)動(dòng)程序關(guān)聯(lián)。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

2、從數(shù)據(jù)庫反向工程實(shí)體和DAO

右鍵單擊一個(gè)JPA項(xiàng)目,然后從菜單中選擇“Generate Entities & DAOs”。您可以選擇使用MyEclipse逆向工程工具或DALI實(shí)體生成器進(jìn)行選擇,將啟動(dòng)相應(yīng)的JPA逆向工程向?qū)А?/p>

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

右鍵單擊DB Browser視圖中的表生成實(shí)體。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

逆向工程過程是完全可定制的。使用JPA逆向工程向?qū)?,可以選擇要生成的工件以及該工件所基于的數(shù)據(jù)庫表。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

MyEclipse還可以生成具有結(jié)果分頁支持的DAO findBy<property>查詢。生成的結(jié)果分頁API為DAO客戶端提供了細(xì)粒度的程序控制,可定位到結(jié)果集的特定行號(hào)并獲取n個(gè)實(shí)體。

以下是逆向工程處理器生成的代碼的幾個(gè)樣本片段:

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

3、高級(jí)實(shí)體編輯工具

MyEclipse Java持久性透視圖

MyEclipse Java Persistence透視圖為面向jpa的任務(wù)提供了最佳的編輯器和視圖布局。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

JPA Details視圖

通過“JPA Details”視圖,可以輕松編輯實(shí)體注釋。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

JPA Diagram編輯器

JPA Diagram編輯器使您可以輕松創(chuàng)建新實(shí)體或在現(xiàn)有JPA項(xiàng)目中編輯實(shí)體。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

JPA Annotation Table和Column Content Assist

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

JPA Entity Validation

可檢測到映射中的錯(cuò)誤并在編輯器和“Problems”視圖中顯示。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

可以在項(xiàng)目級(jí)別啟用或禁用JPA Entity Validator。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

4、高級(jí)Spring-JPA集成

Spring 2支持

將JPA構(gòu)面添加到已經(jīng)具有Spring構(gòu)面的項(xiàng)目時(shí),您可以選擇高級(jí)Spring-JPA支持(反之亦然)。這種級(jí)別的支持使JPA工具可以與項(xiàng)目的Spring工件一起使用。下圖顯示了Spring-JPA項(xiàng)目配置向?qū)А?/p>

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

選擇Spring-JPA支持,主要bean配置文件,并自定義bean id和事務(wù)支持。

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

逆向工程實(shí)體和數(shù)據(jù)庫中的Spring DAO

對于配置為支持高級(jí)Spring-JPA功能的項(xiàng)目,除了從數(shù)據(jù)庫架構(gòu)生成實(shí)體類之外,還可以生成與Spring兼容的DAO。在逆向工程過程中,將使用每個(gè)DOA類的生成的bean條目更新Spring應(yīng)用程序上下文文件。

生成Spring DAO:

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

生成的Spring應(yīng)用程序上下文文件:

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

生成的Spring DAO擴(kuò)展自Spring的JpaDaoSupport:

MyEclipse教程:JPA開發(fā)(數(shù)據(jù)庫)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI