更新时间: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文档进行学习和了解。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19