JavaSE中Jpa的应用入门
一. JPa提供的用户接口
Persistence,EntityMangerFactory,EntityManager
二. 配置.
1.添加Jar包
以hibernate作为Jpa的实现进行.
添加hibernate的jar包.
添加hibernate-entitymanager的jar包
2.配置persistence.xml文件
在src下新建文件夹META-INF
在MET-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="Emp" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>org.jenfer.jpa.entity.Emp</class>
<properties>
<property name = "hibernate.connection.driver_class" value = "com.mysql.jdbc.Driver"/>
<property name = "hibernate.connection.url" value = "jdbc:mysql://localhost/test"/>
<property name = "hibernate.connection.username" value = "root"/>
<property name = "hibernate.connection.password" value = "fox"/>
<property name = "hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
说明: persistence-unit是持久化单元的名字
< provider/>:JPA实现提供程序
<class/>持久化的类
<properties/> 实现厂商自定义的属性
这里是hibernate的自定属性.相关资料参考hibernate的配置
三. 实体类的实现:
以下是是用Jpa的注解的POJO.
@Table,@Entity等请参考Jpa官方文档
@Table(name = "emp")
@Entity(name = "Emp")
public class Emp {
@Id
@Column(name = "emp_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int empId;
@Column(name = "emp_name", length = 10)
private String empName;
private String email;
/**
* Default constructor
*/
public Emp() {
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
四. 测试类库的编写.用到Junit测试框架
public class EvnTest {
private static EntityManager manager;
@BeforeClass
public static void init() {
EntityManagerFactory factory = Persistence
.createEntityManagerFactory("Emp");
manager = factory.createEntityManager();
}
@AfterClass
public static void destory(){
if(manager!=null){
manager.close();
}
}
@Test
@Ignore
public void envTest() {
Emp emp = new Emp();
emp.setEmail("wangwu@123.com");
emp.setEmpName("周星驰");
EntityTransaction tx = manager.getTransaction();
try {
tx.begin();
manager.persist(emp);
tx.commit();
} catch (Exception e) {
tx.rollback();
}
}
@Test@Ignore
public void queryTest() {
Emp emp=manager.find(Emp.class, 1);
System.out.println(emp.getEmpName());
}
@Test@Ignore
public void updateTest(){
Emp emp = new Emp();
emp.setEmail("jsj@123.com");
emp.setEmpName("周剑华");
emp.setEmpId(1);
EntityTransaction tx = manager.getTransaction();
try {
tx.begin();
manager.<Emp>merge(emp);
tx.commit();
}
分享到:
相关推荐
JavaSE、JavaEE和Oracle是IT领域中三个重要的技术栈,对于初学者来说,掌握这些技术将为职业生涯打下坚实的基础。以下是对这三个技术领域的详细解释: JavaSE(Java Standard Edition)是Java平台的核心部分,提供...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建出独立的、生产级别的基于 Spring 的应用。 入门Spring Boot,首先需要了解其核心概念: 1. **起步依赖...
【Spring的基本应用】是Java EE企业级应用开发中不可或缺的一部分,尤其在Spring+Spring MVC+MyBatis的组合中,Spring作为基础框架扮演着至关重要的角色。本章内容主要涵盖Spring的核心容器、依赖注入以及Spring的...
- **JavaSE (Java Platform, Standard Edition)**: 核心版,适用于桌面应用程序和小型应用服务器,包含了运行Java程序的基础组件。 - **JavaME (Java Platform, Micro Edition)**: 针对嵌入式系统和移动设备的应用...
JavaEE建立在JavaSE(Java Platform, Standard Edition)的基础之上,提供了一系列技术和规范以帮助开发者构建、部署和运行可移植、健壮、可扩展且安全的服务器端Java应用程序。JavaEE支持Web服务、组件模型、管理...
然后,你可以开始接触JavaEE(企业版),学习Servlet、JSP、JPA或Hibernate等技术,这些都是开发Web应用程序的关键。理解MVC(模型-视图-控制器)设计模式,以及Spring框架的应用,可以帮助你构建更复杂的业务逻辑。...
- **Java EE**:在此基础上增加了许多用于企业级应用开发的技术,如EJB、JPA、Servlets、JSP等。Java EE主要针对大规模分布式系统的设计与开发。 #### Java学习资源 对于初学者来说,选择合适的资源至关重要。在...
它建立在Java Standard Edition(JavaSE)的基础上,提供了一整套用于开发、部署和管理企业级应用程序的技术框架。JavaEE通过简化复杂的企业级开发任务来提高开发效率,并确保应用程序的安全性、可靠性和可伸缩性。 ...
JavaEE(Java企业版)API则扩展了JavaSE,增加了对企业级应用的支持,如数据库连接(JDBC)、持久化(JPA)、Web服务(JAX-WS、JAX-RS)、会话管理(Servlet、JSP)和邮件服务(JavaMail)。例如,`javax.servlet`包...
JavaEE是在JavaSE的基础上扩展而来的,主要用于开发企业级应用。它包含了Web服务、EJB组件、JPA等高级特性,适用于大型分布式系统。 **JavaME (Java Platform, Micro Edition):** JavaME是为了嵌入式设备和移动...
Java2 Platform, Enterprise Edition,企业版)**:主要面向企业级应用开发,包含了构建基于Web的应用和服务所需的API,如Servlets、JavaServer Pages (JSP)、JavaBeans、Java Persistence API (JPA)、Java ...
- **入门**:熟悉JavaSE的基础语法和核心概念。 - **Web 技术**:学习Servlets、JSP、JSF等Web开发技术。 - **服务端技术**:掌握EJB、JMS(Java Message Service)、JPA(Java Persistence API)等服务端开发工具和...