• 「Java开发指南」如何在MyEclipse中使用JPA和Spring管理事务?(一)


    本教程中介绍一些基于JPA/ spring的特性,重点介绍JPA-Spring集成以及如何利用这些功能。您将学习如何:

    • 为JPA和Spring设置一个项目
    • 逆向工程数据库表来生成实体
    • 实现创建、检索、编辑和删除功能
    • 启用容器管理的事务

    MyEclipse v2023.1.2离线版下载

    1. 用JPA和Spring Facets创建一个Java项目

    将JPA和Spring功能添加到Java或Web项目中是很常见的,本教程使用一个Java项目来演示这些技术的工作原理。

    注意:您可以下载本教程中开发的项目,并将其导入到您的工作区中。

    (1)创建一个名为SampleJPASpringProject的示例Java项目,并向其中添加JPA facet 

    (2)右键单击该项目,然后选择MyEclipse>Project Facets>Install Spring Facet

    (3)单击Next来接受Spring版本和运行时默认值。

    如何在MyEclipse中使用JPA和Spring管理事务?

    设置Spring版本和目标运行时

    (4)MyEclipse为您创建了一个新的applicationContext.xml文件,点击Next。

    如何在MyEclipse中使用JPA和Spring管理事务?

    设置bean配置

    (5)注意Add Spring-JPA支持复选框,它告诉MyEclipse在这个JPA项目中生成把Spring和JPA集成在一起的源。因为您要将Spring添加到JPA项目中,所以默认情况下是选中的。另外默认情况下支持使用@Transactional Spring注释,单击Finish。

    如何在MyEclipse中使用JPA和Spring管理事务?

    添加Spring-JPA功能

    现在项目已经添加了JPA和Spring facets,您可以打开applicationContext.xml Spring bean配置文件,看看项目是如何配置的。通过单击编辑器底部的Beans Graph选项卡打开图形视图。

    如何在MyEclipse中使用JPA和Spring管理事务?

    Spring配置

    您可以从Spring bean配置文件中看到不同bean是如何配置的,transactionManager使用entitytManagerFactory,而entitytManagerFactory又使用JPA持久单元(在添加JPA facet时创建)。

    2. 逆向工程

    现在项目已经设置好了,您可以将PRODUCTLINE表逆向工程到项目中,并开始使用生成的实体。

    (1)右键单击src文件夹,并选择New>Package来创建一个要在其中生成实体的包。

    (2)右键单击包,并选择MyEclipse>Generate Entities & DAOs。

    (3)选择PRODUCTLINE,并单击Add,然后点击Next。

    如何在MyEclipse中使用JPA和Spring管理事务?

    选择PRODUCTLINE表

    (4)填写如下所述的字段。

    Java source folder:项目中生成文件的文件夹。

    Java package:您在上面创建的用于放置生成类的包。

    Entity Bean Generation:告诉MyEclipse生成带有正确注释的普通Java类,以便作为JPA实体使用。

    Create abstract class:如果您希望自定义生成的类,而不需要每次都覆盖您的更改,MyEclipse可以生成基抽象类以及您可以自定义和使用的具体子类。每次进行逆向工程时,MyEclipse只覆盖抽象基类,在具体的子类中维护您的更改。

    Update persistence.xml:与Hibernate类似,您可以在JPA配置文件中列出正在使用的所有JPA实体。

    Java Data Access Generation:告诉MyEclipse生成DAO实用程序类,允许您立即从数据库中保存/查找/更新/删除实体。这段代码封装了JPA实体管理器,使使用实体和数据库变得非常容易。

    Generate Precise findBy Methods:告诉MyEclipse生成findByXXX方法,其中XXX属于被反转的实体上的每个属性,这允许使用任何属性作为查找实体的方法轻松地从DB访问实体。

    Generate Java interfaces:告诉MyEclipse生成顶级DAO接口以及具体实现(例如IProductlineDAO和ProductlineDAO)

    DAO Type:根据所生成的DAO的类型,MyEclipse(除了为您生成DAO实现之外)还可以用连接到现有entityManagerFactory的新DAO为您更新Spring bean配置文件。

    如何在MyEclipse中使用JPA和Spring管理事务?

    生成实体

    5. 点击Finish对表进行逆向工程。当逆向工程完成后,您可以再次查看项目的Spring配置并查看更新。

    如何在MyEclipse中使用JPA和Spring管理事务?

    全新的Spring DAO

    通过更新的Spring视图,您可以看到包含了ProductlineDAO。

  • 相关阅读:
    LibreOJ_10224
    我们会把 OTA 页的权重设置得更高。
    分享一下怎么做小程序营销活动
    【量化交易】量化因子 基础科目衍生类因子计算
    认知战壳吉桔:认知战战略不是从思潮开始,而在策划!
    多目标水母搜索算法(Multi-Objective Jellyfish Search algorithm,MOJS)求解微电网优化--提供MATLAB代码
    CNN,RNN,LSTM,GRU的前后向传播算法(梯度是怎么更新的)
    filp_open
    阿里云oss迁移到AWS S3
    在线教育平台开发:数字化教育的奇妙时代
  • 原文地址:https://blog.csdn.net/AABBbaby/article/details/133803295