JPA(java persistent api) 是sun公司推出的一个对象/关系(ORM)标准,常见的orm厂商有Hibernate, Toplink,jdo等,这些产品都有各自的实现方式,sun 公司为了统一ORM 持久化技术提高代码的灵活性(面向接口编程)推出了这一标准,这套标准只定义了一些接口,具体实现有各个厂商自己决定(类似于jdbc标准,sun提供接口,各个数据库厂商提供具体实现)。下面举例讲述以Hibernate实现JPA的常见操作。
先直接写个简单的例子,从整体上大致了解下JPA的书写流程。
- 定义一个简单的JavaBean
package com.zt.bean; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="tb_person") public class Person { private int id; private String name; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } @Column(name="name") public String getName() { return name; } public void setName(String name) { this.name = name; } }
-
JPA 需要在类路径的META-INF有persistence.xml文件,在src目录下新建META-INF目录,然后新建persistence.xml文件:persistence-unit是一系列持久化javabean的集合name 要和 Persistence.createEntityManagerFactory("mysqljpa")的名字一致。
<?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_2_0.xsd" version="2.0"> <persistence-unit name="mysqljpa" transaction-type="RESOURCE_LOCAL"> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> <property name="hibernate.connection.username" value="root"/> <property name="hibernate.connection.password" value="root"/> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=UTF-8"/> <property name="hibernate.hbm2ddl.auto" value="update"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> </properties> </persistence-unit> </persistence>
- 导入jar包(附件可下载)
- 测试代码
@Test public void testPersistent() { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("mysqljpa"); EntityManager entityManager = entityManagerFactory.createEntityManager(); EntityTransaction transaction = entityManager.getTransaction(); transaction.begin(); Person person = new Person(); person.setName("zhangsan"); entityManager.persist(person); transaction.commit(); entityManager.close(); entityManagerFactory.close(); }
相关推荐
JPA实战,JPA入门的好帮手,JPA入门帮手,适合初学者入门
NULL 博文链接:https://jzkangta.iteye.com/blog/965714
Spring Framework对JPA的支持本身就很强大,我们不用理会EntityManager的创建,事务处理等等.Spring又进步了,只需要声明一下方法接口,Spring Data JPA可以帮你完成数据访问层的实现代码,开发者把更多的心思放在业务...
Spring Data JPA入门项目01(添加、修改、删除、查询功能的基本实现)
Spring Data JPA入门项目02(查询操作的基本实现(排序、分页))
事物JPA入门,样例和PPT~事物JPA入门,样例和PPT~事物JPA入门,样例和PPT
Spring Data JPA 入门例子,博文地址http://blog.csdn.net/wu_boy/article/details/45172625
SpringDataJPA 入门 用户管理系统
jpa入门案例:单表查询,包括分页查询 使用springboot来整合实现
jpa从入门到放弃,你值得拥有!!!!!
JPA详细教程,用于JPA入门与参考很不错
JPA入门教程 非经典不上传 测试 spring开发 jpa必经之路
hibernate+strut+jpa入门例子
spring Data家族给我们提供了一个现成的dao层框架,这里面有不同的项目,如Spring Data JPA, Spring Data Neo4j and Spring Data MongoDB,他们的共同特点是他们给我们提供了框架代码,不再需要我们自己去实现了。
jpa入门项目,时候初学者练习,注解基于java persistence
里面用实例讲解了JPA标签的作用,对初次接触JPA的人有很大的帮助
关于JSF和JPA的一个入门示例录象,入门的朋友可以看看,用的NETBEANS开发工具
JPA从入门到精通 推荐
我所上传的都是我亲自写的和验证过的,spring data jpa 从网上收集了好多资料才弄好的,真辛苦。