国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java EE開發(fā)系列教程 - 使用EJB組件與JPA層交互

這篇具有很好參考價值的文章主要介紹了Java EE開發(fā)系列教程 - 使用EJB組件與JPA層交互。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

因為之前JPA原生 <property> 屬性在Wildfly實現(xiàn)中并不總是生效,所以這里換成了Wildfly默認(rèn)的JPA實現(xiàn),即Hibernate。把屬性改成了Hibernate專有的。hibernate.hbm2ddl.auto 定義是否自動生成表,create-and-drop 意為如果表存在,則刪除后再創(chuàng)建。hibernate.dialect 用來指定數(shù)據(jù)庫廠商,以根據(jù)不同的數(shù)據(jù)庫生成廠商相關(guān)的SQL語句。

創(chuàng)建EJB模塊

=======

EJB Service client 模塊


EJB可以用接口來定義此Bean是本地還是遠(yuǎn)程的。本地bean只能在部署應(yīng)用的同一容器中訪問,而遠(yuǎn)程bean可以被集群中的服務(wù)器所訪問。

現(xiàn)在,創(chuàng)建一個maven模塊,名為 notebookServiceClient。

pom.xml 文件內(nèi)容為:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns=“http://maven.apache.org/POM/4.0.0”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

notebookRoot

com.zxuqian

0.0.2

…/notebookRoot/pom.xml

4.0.0

notebookServiceClient

src

**/*.java

maven-compiler-plugin

com.zxuqian

notebookDomain

org.jboss.spec.javax.ejb

jboss-ejb-api_3.2_spec

provided

此模塊也繼承自 notebookRoot 模塊, 并且依賴于 notebookDomain 模塊和jboss ejb模塊.

創(chuàng)建名為 IUserService 的接口,并寫入如下代碼:

public interface IUserService {

User getUserById(Long id);

List getAllUsers();

Long addUser(User user);

void deleteUser(User user);

}

這些方法定義了數(shù)據(jù)庫CRUD操作,根據(jù)用戶ID查詢用戶,查詢所有用戶,添加一個用戶,刪除一個用戶。

再創(chuàng)建另一個名為 IUserServiceLocal 的接口,繼承自 IUserService, 并添加 @Local 注解,表明它為本地bean接口。

@Local

public interface IUserServiceLocal extends IUserService {

}

創(chuàng)建一個遠(yuǎn)程bean接口, IUserServiceRemote

@Remote

public interface IUserServiceRemote extends IUserService {

}

這兩個接口都使用父接口的方法,所以類體留空即可。

EJB Service 模塊


創(chuàng)建Maven模塊 notebookService。 此模塊是 notebookServiceClient 的具體實現(xiàn)。 pom.xml文件內(nèi)容為:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns=“http://maven.apache.org/POM/4.0.0”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>

notebookRoot

com.zxuqian

0.0.2

…/notebookRoot/pom.xml

4.0.0

ejb

notebookService

src

**/*.java

maven-compiler-plugin

maven-ejb-plugin

org.jboss.spec.javax.ejb

jboss-ejb-api_3.2_spec

provided

org.hibernate.javax.persistence

hibernate-jpa-2.1-api

provided

com.zxuqian

notebookDomain

com.zxuqian

notebookServiceClient

這里的不同之處是 <packaging> 的值為 ejb, 意為此模塊將被打包成 EJB 格式。 如果EJB版本小于3.0,則需要在模塊的 src/META-INF 文件夾下添加 ejb-jar.xml 文件,如果EJB版本大于3.0,則可以省略。這里提供 ejb-jar.xml 文件內(nèi)容,其實只是一個空的定義文件:

<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar xmlns=“http://java.sun.com/xml/ns/javaee”

xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"

version=“3.1”>

在此模塊下創(chuàng)建名為 UserServiceBean 的Java類,實現(xiàn) IUserServiceLocal 接口并添加 @Stateful 注解。@Stataful 意思為此EJB在客戶端與其交互中,保存所有狀態(tài)。另一種EJB類型為@Stateless,即在每次客戶端請求時,從bean池里取出一個新的bean,狀態(tài)不會保存。此類使用 @PersistenceContext 注解注入了一個EntityManager 對象,注入即是讓容器管理此對象的創(chuàng)建與銷毀。@PostConstruct 是生命周期注解,意思是在對象創(chuàng)建之后調(diào)用此方法,即 init() 方法,此方法初始化 UserDao 類,并傳遞 EntityManager 對象。

@Stateful

public class UserServiceBean implements IUserServiceLocal {

@PersistenceContext

private EntityManager entityManager;

private IUserDao userDao;

@PostConstruct

private void init() {

this.userDao = new UserDao(entityManager);

}

public User getUserById(Long id) {

return this.userDao.getUserById(id);

}

public List getAllUsers() {

return this.userDao.getAllUsers();

}

public Long addUser(User user) {

return this.userDao.addUser(user);

}

public void deleteUser(User user) {

this.userDao.deleteUser(user);

}

}

JSF調(diào)用EJB服務(wù)

==========

現(xiàn)在可以使用JSF來調(diào)用EJB服務(wù)了。在之前的 notebook 模塊中,創(chuàng)建一個名為 UserBackBean 的Java類:

public class UserBackBean implements Serializable {

private Logger logger = Logger.getLogger(UserBackBean.class.getCanonicalName());

@EJB

private IUserServiceLocal userService;

private List users;

private User user;

public UserBackBean() {

this.user = new User();

}

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

public List getUsers() {

return users;

}

public void setUsers(User user) {

this.users.add(user);

}

public String register() {

this.userService.addUser(this.user);

return this.getAllUsers();

}

public String getAllUsers() {

this.users = this.userService.getAllUsers();

return “user_list”;

}

}

此類作為JSF頁面的后端bean,提供屬性和方法供頁面使用,利用EL表達(dá)式。

  • IUserServiceLocal 使用 @EJB 注解,不但聲明了它是EJB組件,而且它的生命周期由容器管理,所以不用手動初始化它。

  • users 成員變量保存從數(shù)據(jù)庫查詢出來的所有 User 對象。

  • usernotebookDomain 模塊中的 User 實體,用來接收用戶從頁面中輸入的數(shù)據(jù)。

  • register() 方法保存用戶數(shù)據(jù)到數(shù)據(jù)庫中,并調(diào)用 getAllUsers() 方法跳轉(zhuǎn)到 user_list 頁面來顯示所有用戶的用戶名。

  • getAllUsers() 用來查詢所有用戶,并跳轉(zhuǎn)到 user_list 頁面來顯示所有用戶的用戶名。

再創(chuàng)建一些JSF頁面。首先創(chuàng)建 register.xhtml 頁面,位于 WebContent 目錄下:

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)Java工程師,想要提升技能,往往是自己摸索成長或者是報班學(xué)習(xí),但對于培訓(xùn)機構(gòu)動則幾千的學(xué)費,著實壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年Java開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時減輕大家的負(fù)擔(dān)。ejb轉(zhuǎn)jpa,程序員,java-ee,java

ejb轉(zhuǎn)jpa,程序員,java-ee,java

ejb轉(zhuǎn)jpa,程序員,java-ee,java

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Java開發(fā)知識點,真正體系化!

由于文件比較大,這里只是將部分目錄截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!

如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。ㄙY料價值較高,非無償)

ejb轉(zhuǎn)jpa,程序員,java-ee,java

筆者福利

以下是小編自己針對馬上即將到來的金九銀十準(zhǔn)備的一套“面試寶典”,不管是技術(shù)還是HR的問題都有針對性的回答。

有了這個,面試踩雷?不存在的!

回饋粉絲,誠意滿滿?。?!

ejb轉(zhuǎn)jpa,程序員,java-ee,java
ejb轉(zhuǎn)jpa,程序員,java-ee,java
ejb轉(zhuǎn)jpa,程序員,java-ee,java
ejb轉(zhuǎn)jpa,程序員,java-ee,java

《一線大廠Java面試題解析+核心總結(jié)學(xué)習(xí)筆記+最新講解視頻+實戰(zhàn)項目源碼》,點擊傳送門即可獲??!
來,每個節(jié)點里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!**

如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。ㄙY料價值較高,非無償)

ejb轉(zhuǎn)jpa,程序員,java-ee,java

筆者福利

以下是小編自己針對馬上即將到來的金九銀十準(zhǔn)備的一套“面試寶典”,不管是技術(shù)還是HR的問題都有針對性的回答。

有了這個,面試踩雷?不存在的!

回饋粉絲,誠意滿滿?。?!

[外鏈圖片轉(zhuǎn)存中…(img-8cm0dVYD-1711622225398)]
[外鏈圖片轉(zhuǎn)存中…(img-SSTqMUhf-1711622225398)]
[外鏈圖片轉(zhuǎn)存中…(img-qShcInRd-1711622225398)]
[外鏈圖片轉(zhuǎn)存中…(img-Wqm8pcms-1711622225399)]

《一線大廠Java面試題解析+核心總結(jié)學(xué)習(xí)筆記+最新講解視頻+實戰(zhàn)項目源碼》點擊傳送門即可獲??!文章來源地址http://www.zghlxwxcb.cn/news/detail-849463.html

到了這里,關(guān)于Java EE開發(fā)系列教程 - 使用EJB組件與JPA層交互的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【鴻蒙應(yīng)用ArkTS開發(fā)系列】- Web組件使用講解

    【鴻蒙應(yīng)用ArkTS開發(fā)系列】- Web組件使用講解

    目錄 一、Web組件介紹 二、創(chuàng)建組件 權(quán)限列表 三、設(shè)置樣式和屬性 四、添加事件和方法 五、訪問本地Html 1、本地html文件創(chuàng)建 2、本地html文件加載 2、JS對象注入,Html使用JS對象調(diào)用客戶端方法 3、客戶端調(diào)用本地Html網(wǎng)頁中的JS方法 使用鴻蒙的ArkUI框架開發(fā)鴻蒙應(yīng)用的時候,官

    2024年02月07日
    瀏覽(26)
  • 【鴻蒙應(yīng)用ArkTS開發(fā)系列】- 導(dǎo)航欄Tab組件使用講解

    【鴻蒙應(yīng)用ArkTS開發(fā)系列】- 導(dǎo)航欄Tab組件使用講解

    現(xiàn)在市場上的大部分應(yīng)用,主頁都是才用底部導(dǎo)航欄菜單作為頁面主體框架來展示, 在鴻蒙中是使用Tabs組件實現(xiàn),下面我們開始講解Tab組件的使用。 Tabs是一個通過頁簽進(jìn)行內(nèi)容視圖切換的容器組件,每個頁簽對應(yīng)一個內(nèi)容視圖,它僅可包含子組件TabContent,同時搭配 TabsCo

    2024年01月16日
    瀏覽(38)
  • Java EE 突擊 10 - Spring MVC 程序開發(fā) (1)

    Java EE 突擊 10 - Spring MVC 程序開發(fā) (1)

    這個專欄給大家介紹一下 Java 家族的核心產(chǎn)品 - SSM 框架 JavaEE 進(jìn)階專欄 Java 語言能走到現(xiàn)在 , 仍然屹立不衰的原因 , 有一部分就是因為 SSM 框架的存在 接下來 , 博主會帶大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相關(guān)知識點 并且?guī)ьI(lǐng)大家進(jìn)行環(huán)境的配置 , 讓大家真正用好

    2024年02月13日
    瀏覽(33)
  • Java EE 突擊 11 - Spring MVC 程序開發(fā) (2)

    Java EE 突擊 11 - Spring MVC 程序開發(fā) (2)

    這個專欄給大家介紹一下 Java 家族的核心產(chǎn)品 - SSM 框架 JavaEE 進(jìn)階專欄 Java 語言能走到現(xiàn)在 , 仍然屹立不衰的原因 , 有一部分就是因為 SSM 框架的存在 接下來 , 博主會帶大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相關(guān)知識點 并且?guī)ьI(lǐng)大家進(jìn)行環(huán)境的配置 , 讓大家真正用好

    2024年02月13日
    瀏覽(41)
  • Java EE企業(yè)級應(yīng)用開發(fā)(SSM)第10章

    Java EE企業(yè)級應(yīng)用開發(fā)(SSM)第10章

    1.第九章的細(xì)節(jié)處理 1-1.mappers標(biāo)簽中的配置 1-2.jdbc屬性文件的配置 1-3.包的別名配置 2.Mybatis核心配置文件 2-1:settings標(biāo)簽(P145-146中的表10-1) 2-2.類型別名 3.Mybatis映射文件 3-1:insert、update、delete元素屬性 3-2:select元素 3-3:ResultMap詳解 ResultMap詳解 4.動態(tài)SQL 4-1:if 注意模糊查詢

    2024年02月03日
    瀏覽(22)
  • Java EE企業(yè)級應(yīng)用開發(fā)(SSM)第9章

    Java EE企業(yè)級應(yīng)用開發(fā)(SSM)第9章

    1.MyBatis框架的特點 1-1.簡單易學(xué) 1-2.靈活 1-3.提供映射標(biāo)簽 2.MyBatis核心類 2-1.Configuration 2-2.SqlSessionFactory 2-3.SqlSession 2-4.Exector 2-5.MappedStatement 3.MyBatis工作流程 4.Mybatis入門程序 4-0:導(dǎo)入jar包資源 4-1:編寫實體類 4-2:編寫mapper接口以及映射文件 4-3:編寫mybatis-config配置文件 4-4:編

    2024年02月04日
    瀏覽(17)
  • Java EE企業(yè)級應(yīng)用開發(fā)(SSM)第6章

    Java EE企業(yè)級應(yīng)用開發(fā)(SSM)第6章

    1.Spring MVC的請求參數(shù) 項目的基礎(chǔ)配置 web.xml springmvc-config.xml jar包資源引入: 1-1:獲取默認(rèn)參數(shù) jsp頁面如下: Controller如下: 1-2:簡單數(shù)據(jù)類型(獲取數(shù)據(jù)不同,只展示Controller) 1-3:注解配置參數(shù)名(RequestParam) 2.Spring MVC的請求響應(yīng) 2-1:響應(yīng)ModelAndView:返回數(shù)據(jù)和頁面 2-2:響

    2023年04月18日
    瀏覽(26)
  • 由淺入深C系列五:使用libcurl進(jìn)行基于http get/post模式的C語言交互應(yīng)用開發(fā)

    大多數(shù)在linux下的開發(fā)者,都會用到curl這個命令行工具。對于進(jìn)行restful api的測試等,非常方便。其實,這個工具還提供了一個C的開發(fā)庫,可以很方便的在C語言開發(fā)環(huán)境下完成基于http的請求和響應(yīng)交互,高效的開發(fā)基于http/smtp等的網(wǎng)絡(luò)應(yīng)用程序 下載并安裝curl的開發(fā)包 開發(fā)

    2024年02月13日
    瀏覽(22)
  • EJB基本概念和使用

    EJB是sun的JavaEE服務(wù)器端組件模型,是一種規(guī)范,設(shè)計目標(biāo)與核心應(yīng)用是部署分布式應(yīng)用程序。 EJB2.0過于復(fù)雜,EJB3.0的推出減輕了開發(fā)人員進(jìn)行底層開發(fā)的工作量,它取消或最小化了很多(以前這些是必須實現(xiàn))回調(diào)方法的實現(xiàn),并且降低了實體Bean及O/R映射模型的復(fù)雜性。 EJB大

    2024年02月12日
    瀏覽(13)
  • 【Java EE】SpringBoot的創(chuàng)建與簡單使用

    【Java EE】SpringBoot的創(chuàng)建與簡單使用

    如果你的IDEA是專業(yè)版,則哪個版本都可以。 如果你是社區(qū)版,則請下載 2021.1 - 2022.1.4 如果個?電腦安裝的 idea 不在這個范圍,需要卸載重新安裝 卸載參考:《IDEA卸載和刪除注冊表》 一定要刪除注冊表 關(guān)于Maven相關(guān)知識與國內(nèi)源配置可以參考博主寫的【Java EE】關(guān)于Maven 在學(xué)

    2024年04月11日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包