JavaSE使用JPA简单案例:
使用的JPA提供者是openjpa.
首先,新建一个普通的Java工程;
然后,导入openjpa所需要的jar包、数据库的驱动类、javaee.jar
(因为包含javax.persistence.*的API),见下图:
接着编写EntityBean:
package study.entity;
import javax.persistence.Id;
import java.io.Serializable;
import javax.persistence.*;
@SuppressWarnings("serial")
@Entity
public class Person implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
然后是编写DAO吧,其实我更喜欢称为Service:
package study.service;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import study.entity.Person;
public class PersonManagerImpl implements PersonManager {
@Override
public Person getPerson(int personId) {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("helloworld");
EntityManager manager = emf.createEntityManager();
Person person = manager.find(Person.class, personId);
manager.close();
emf.close();
return person;
}
@Override
public void addPerson(Person person) {
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("helloworld");
EntityManager manager = emf.createEntityManager();
manager.getTransaction().begin();
manager.persist(person);
manager.getTransaction().commit();
manager.close();
emf.close();
}
}
在src下新建一个META-INF目录,在该目录中新建一个persistence.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="helloworld" transaction-type="RESOURCE_LOCAL">
<provider>
org.apache.openjpa.persistence.PersistenceProviderImpl
</provider>
<class>study.entity.Person</class>
<properties>
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost/firstjpa" />
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver" />
<property name="openjpa.ConnectionUserName" value="root" />
<property name="openjpa.ConnectionPassword" value="XXXXXX" />
</properties>
</persistence-unit>
</persistence>
因为使用的是 JAVASE,所以直接将连接信息,写在了文件中。如果是用EJB容器,则可以使用JNDI的方式。
最后,在数据库中新建相应的数据库、数据库的表
(如果是Hibernate的话,可以不用见表,OpenJpa暂时不明了,还是新建吧。)
测试类
(打错了,少了个t,写成Tes了 ⊙﹏⊙b汗):
package study.test;
import study.entity.Person;
import study.service.PersonManager;
import study.service.PersonManagerImpl;
public class Tes {
public static void main(String[] args) {
PersonManager manager = new PersonManagerImpl();
Person person = new Person();
person.setName("xiaolongfeixiang");
manager.addPerson(person);
Person person2 = manager.getPerson(1);
System.out.println(person2.getName());
}
}
运行结果:
- 大小: 8.5 KB
- 大小: 6.6 KB
- 大小: 7 KB
分享到:
相关推荐
9.2.1 我的联系手册(JPA实现) 228 9.2.2 我的联系手册(JAXB实现) 238 9.3 小结 242 第10章 准备环球旅行——应用程序国际化 243 10.1 讲解 244 10.1.1 概念介绍 244 10.1.2 设置Locale 249 10.1.3 隔离...
这些资源可能包括了相关的教程文档、实战项目案例、历年面试题库等,充分利用它们,可以有效地巩固和拓展你的Java知识体系。在准备过程中,理论结合实践,不断编码练习,加深理解,你将更有可能在竞争激烈的Java开发...
9. **实战案例**:通过实例来演示如何使用JavaEE技术构建实际的企业级应用,如电子商务系统、CRM系统等。 10. **更新与发展**:随着JavaEE不断演进,最新的JavaEE 8和JavaEE 11引入了更多现代化的特性,如JSF 2.3、...
在本项目中,开发者可能使用了JavaSE(标准版)的基础,以及JavaEE(企业版)的服务器端组件,如Servlet和JSP。 2. **Servlet技术**: Servlet是JavaEE的一部分,它允许开发者创建动态响应HTTP请求的服务。在物资...
- `javase` 文件夹很可能包含了Java基础知识的学习笔记,如变量、数据类型、运算符、控制结构(if、for、while)、方法、类与对象、封装、继承和多态等概念的解释和实例代码。 2. **Java理论基础**: - 标签中的...
它建立在JavaSE(标准版)之上,提供了丰富的API和服务,如Servlet、JSP、JPA、JMS、EJB等,使得开发者能够便捷地开发Web应用程序、企业级服务和数据库应用。 Servlet是JavaEE中的核心组件,它是一种用于扩展服务器...
它基于JavaSE平台,提供了更为丰富的API和服务支持,如EJB、JPA、Servlet、JSP等,用于开发可伸缩、健壮、分布式的网络应用。JavaEE强调的是服务器端的应用,适用于构建大型的B/S结构的应用程序。 ### 二、在线考试...
JavaEE是Oracle公司提供的一个开放源代码的服务器端平台,它基于Java Standard Edition(JavaSE)并扩展了其功能,为开发和部署网络应用提供了丰富的API和工具。JavaEE的主要目标是简化企业级应用的开发,通过组件...
【描述】中的“javaSE,javaWeb,J2EE框架的知识点”涵盖了Java开发的三个主要部分: 1. **Java SE(标准版)**:Java Standard Edition是Java的基础,提供了面向桌面应用和服务器端服务的基本功能。它包括核心类库,...
JavaEE基于JavaSE,并在其基础上添加了许多企业级服务和技术规范,如Web Services、EJB、JPA、JSF等。JavaEE 1.6对应的是JavaEE 6版本,该版本引入了许多新特性来简化企业级应用的开发过程,包括CDI、WebBeans、JSR-...