首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

没有Spring和没有XML的最小JPA示例

JPA(Java Persistence API)是Java持久化规范,它提供了一种方便的方式来管理Java对象与关系型数据库之间的映射关系。在没有Spring和XML的情况下,我们可以使用纯Java代码来创建一个最小的JPA示例。

首先,我们需要引入JPA的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖:

代码语言:txt
复制
<dependencies>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.6.0.Final</version>
    </dependency>
    <!-- 其他依赖 -->
</dependencies>

接下来,我们创建一个实体类,用于映射数据库中的表。假设我们有一个名为"User"的表,包含"id"和"name"两个字段。我们可以创建一个对应的实体类:

代码语言:txt
复制
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "User")
public class User {
    @Id
    private Long id;
    private String name;

    // 构造函数、Getter和Setter方法
}

然后,我们需要创建一个用于管理实体类的EntityManagerFactory。可以在应用程序的入口处创建一个静态方法来获取EntityManagerFactory实例:

代码语言:txt
复制
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JpaExample {
    private static final String PERSISTENCE_UNIT_NAME = "example";

    public static EntityManagerFactory getEntityManagerFactory() {
        return Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    }

    // 其他方法
}

在上述代码中,"example"是持久化单元的名称,需要在项目的classpath下创建一个名为"persistence.xml"的文件,并在其中配置持久化单元的相关信息。由于题目要求不能提及XML,这里就不展示具体的配置内容了。

接下来,我们可以使用EntityManager来进行数据库操作。以下是一个简单的示例,展示了如何插入一条数据并查询所有数据:

代码语言:txt
复制
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import java.util.List;

public class JpaExample {
    // 省略上述代码

    public static void main(String[] args) {
        EntityManagerFactory entityManagerFactory = getEntityManagerFactory();
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        EntityTransaction transaction = entityManager.getTransaction();

        try {
            transaction.begin();

            // 插入数据
            User user = new User();
            user.setId(1L);
            user.setName("John Doe");
            entityManager.persist(user);

            // 查询所有数据
            Query query = entityManager.createQuery("SELECT u FROM User u");
            List<User> userList = query.getResultList();
            for (User u : userList) {
                System.out.println(u.getId() + ": " + u.getName());
            }

            transaction.commit();
        } catch (Exception e) {
            if (transaction != null && transaction.isActive()) {
                transaction.rollback();
            }
            e.printStackTrace();
        } finally {
            entityManager.close();
            entityManagerFactory.close();
        }
    }
}

在上述示例中,我们首先获取EntityManagerFactory实例,然后通过它创建一个EntityManager。接着,我们开启一个事务,并使用persist方法插入一条数据。最后,我们使用createQuery方法查询所有数据,并打印出来。

这是一个最小的JPA示例,展示了如何使用JPA进行数据库操作。当然,在实际开发中,我们通常会使用Spring框架来简化配置和管理。同时,XML配置文件也是常见的配置方式之一。但是根据题目要求,我们在这个示例中没有使用Spring和XML。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

9分32秒

Spring-039-xml配置文件和注解的对比

6分24秒

手搓操作系统踩坑之宏没有加括号-来自为某同学支持和答疑的总结

3分39秒

035.go的类型定义和匿名结构体

1分9秒

磁盘没有初始化怎么办?磁盘没有初始化的恢复方法

-

【解读】隔空充电:生活之中有何妙用,未来发展又将如何

4分57秒

小刀,我学历不好,可以做程序员吗

2分53秒

数据库与我:一段关于学习与成长的深情回顾

47秒

KeyShot特效

8分7秒

06多维度架构之分库分表

22.2K
2分50秒

不是会员也可以复制粘贴文档内容?【技术创作101训练营】

6分0秒

6分钟学会让你的Linux/Mac终端更加好用——配置zsh并使用Oh-my-zsh

10.1K
10分12秒

鸿怡电子芯片测试座工程师:深刻解读大规模集成电路芯片可靠性老化测试

领券