更新时间:2023-03-03 来源:黑马程序员 浏览量:

JDO(Java Data Objects)是一种Java持久化技术,它提供了一种独立于数据存储方式的对象持久化机制,允许Java开发人员将对象保存到关系数据库或其他持久化存储中。
下面是一个简单的JDO使用实例:
假设我们有一个Java类叫做Employee,它具有以下属性:
public class Employee {
private String firstName;
private String lastName;
private String email;
private Date hireDate;
private double salary;
// 构造函数、getter和setter方法等
}现在我们想要将Employee对象保存到关系数据库中。为此,我们需要定义一个JDO持久化类来处理Employee对象的持久化。这个持久化类可以使用JDO提供的注解或XML元数据来定义对象到表的映射关系。在这里,我们将使用注解。
首先,我们需要在Employee类上添加JDO注解:
import javax.jdo.annotations.*;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Employee {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
private String firstName;
@Persistent
private String lastName;
@Persistent
private String email;
@Persistent
private Date hireDate;
@Persistent
private double salary;
// 构造函数、getter和setter方法等
}上面的注解告诉JDO如何将Employee对象映射到关系数据库中的表。其中,@PersistenceCapable注解表示这是一个持久化类;@PrimaryKey注解表示id属性是主键;@Persistent注解表示其他属性都需要持久化到数据库中。
接下来,我们需要配置JDO持久化管理器。在这里,我们将使用DataNucleus实现:
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
public class JdoExample {
private static final PersistenceManagerFactory pmf =
JDOHelper.getPersistenceManagerFactory("datanucleus.properties");
public static void main(String[] args) {
PersistenceManager pm = pmf.getPersistenceManager();
try {
// 创建一个Employee对象
Employee emp = new Employee();
emp.setFirstName("John");
emp.setLastName("Doe");
emp.setEmail("john.doe@example.com");
emp.setHireDate(new Date());
emp.setSalary(100000);
// 保存Employee对象
pm.makePersistent(emp);
} finally {
pm.close();
}
}
}上面的代码创建了一个持久化管理器,并通过pm.makePersistent(emp)方法将Employee对象保存到数据库中。
以上就是一个简单的JDO使用实例。当然,JDO还有很多其他功能和配置选项,比如查询语言、级联操作、乐观锁等等,这些可以通过JDO文档进行学习和了解。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27