在本文中,我们将讨论您的 Java 微服务应用程序如何通过Jakarta Persistence API连接到关系数据库并与之交互(撰写本文时的最新版本是 3.0 版)。您可以配置数据源和 JDBC 驱动程序,以便在 Payara Microserver 上运行的应用程序可以连接到关系数据库
前言:
在本教程中,我们将使用以下组件配置此应用程序:
微服务应用程序将是一个 Mavenized Java 应用程序。我们将使用 MySQL DB Server 作为关系数据库。JDBC 数据源将是一个事务性数据源 ( XADataSource)。 使用 Maven 配置 JDBC 驱动程序库
您需要一个 JDBC 驱动程序来将您的 Java 应用程序与关系数据库连接起来。驱动程序通常由数据库供应商提供。幸运的是,大多数数据库供应商已将其 JDBC 驱动程序发布到 Maven 存储库。
如果您使用 Maven 构建应用程序,则可以通过将类似于以下示例的代码添加到pom.xml文件中来添加 JDBC 驱动程序。
mysql mysql-connector-java8.0.19 mysql mysql-connector-java
使用 Maven,JDBC 驱动程序文件将在构建阶段复制到WEB-INF/lib应用程序 WAR 文件的文件夹中。package
配置数据库数据源在Payara Blog中,在web.xml 文件中配置了一个数据源 。在此示例中,还有另一种创建数据源配置的方法。下面的示例演示了
src/main/java/webapp/WEB-INF文件夹中payara-resource.xml 文件 的基本数据源配置模式 :
关系数据库连接的应用程序配置
要使用payara-resource.xml文件中配置的数据源,您可以注入数据源或在应用程序代码中指定查找。以下示例假定将 的jndi-name值java:app/jdbc/MyApp指定为文件jdbc-resource中的元素属性payara-resource.xml。
@Resource(name= "java:app/jdbc/MyApp") DataSource myDB;将 JPA EntityManager 注入您的应用程序
在您的payara-resource.xml文件中配置数据源后,我们需要在文件中注册您的数据persistence.xml源
src/main/resources/meta-INF/persistence.xml。jta-data-source与 中指定的jndi-name数据源相匹配payara-resource.xml。
java:app/jdbc/MyApp
ENABLE_SELECTIVE
您可以通过在注释中
jakarta.persistence.EntityManager指定持久性单元来注入您的 Java 应用程序代码:MyAppPUPersistenceContext
@PersistenceContext(unitName="MyAppPU") private EntityManager entityManager;
就这样,你可以得到你的Java应用程序的microService连接和交互通过雅加达持久性API关系数据库!



