JPA(Java Persistence API)是Java持久化规范,它提供了一种方便的方式来管理Java对象与关系型数据库之间的映射关系。在没有Spring和XML的情况下,我们可以使用纯Java代码来创建一个最小的JPA示例。
首先,我们需要引入JPA的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖:
<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"两个字段。我们可以创建一个对应的实体类:
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实例:
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来进行数据库操作。以下是一个简单的示例,展示了如何插入一条数据并查询所有数据:
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。
领取专属 10元无门槛券
手把手带您无忧上云