package com.ymyjsq.junit.test;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.junit.BeforeClass;
import org.junit.Test;
import com.ymyjsq.bean.Person;
public class PersonTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@Test public void save(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
em.getTransaction().begin();//开始事务
em.persist(new Person("高秀山"));
em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void getPerson(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
//em.getTransaction().begin();//开始事务
Person person= em.find(Person.class, 1);//get
System.out.println(person.getName());
//em.persist(new Person("高秀山"));
//em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void getPerson2(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
//em.getTransaction().begin();//开始事务
Person person= em.getReference(Person.class, 1);//load 延时加载
System.out.println(person.getName());
//em.persist(new Person("高秀山"));
//em.getTransaction().commit();
em.close();
factory.close();
}
//new
//managed 托管 用set就能修改数据
//游离脱管
//删除
@Test public void updatePerson(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
em.getTransaction().begin();//开始事务
Person person= em.find(Person.class, 1);
person.setName("name");
System.out.println(person.getName());
em.merge(person);//把游离状态同步到数据库
//em.persist(new Person("高秀山"));
em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void updatePerson2(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
em.getTransaction().begin();//开始事务
Person person= em.find(Person.class, 1);
em.clear();//把实体管理器中的所有实体变成游离状态
person.setName("name");
System.out.println(person.getName());
//em.persist(new Person("高秀山"));
em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void deletePerson(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
em.getTransaction().begin();//开始事务
Person person= em.find(Person.class, 1);//load 延时加载
em.remove(person);
//em.persist(new Person("高秀山"));
em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void queryOnePerson(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
Query query=em.createQuery("select o from Person o where o.id=?1");
query.setParameter(1, 2);
// List<Person> psersons=query.getResultList();//LIST
// for(Person person:psersons ){
// System.out.println(person.getName());
// }
Person person=(Person)query.getSingleResult();//单结果
System.out.println(person.getName());
em.close();
factory.close();
}
@Test public void querydeletePerson(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
em.getTransaction().begin();//开始事务
Query query=em.createQuery("delete from Person o where o.id=?1");
query.setParameter(1, 2);
query.executeUpdate();
em.getTransaction().commit();
em.close();
factory.close();
}
@Test public void queryupdatePerson(){
EntityManagerFactory factory=Persistence.createEntityManagerFactory("itcast");
//-->sessionFactory-->session->begin事务
EntityManager em=factory.createEntityManager();
em.getTransaction().begin();//开始事务
Query query=em.createQuery("update Person o set o.name=:name where o.id=:id");
query.setParameter("name", "2xxx");
query.setParameter("id", 3);
query.executeUpdate();
em.getTransaction().commit();
em.close();
factory.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
jPA+hibernate
共80个文件
java:17个
class:17个
xml:16个
5星 · 超过95%的资源 需积分: 9 35 下载量 37 浏览量
2010-05-18
13:31:38
上传
评论
收藏 51KB RAR 举报
温馨提示
JPA简单培置,JPA多对一,JPA一对一,JPA多对多,JPA联合主键几个小列子。
资源推荐
资源详情
资源评论
收起资源包目录
JPA例子.rar (80个子文件)
JPACompositePK
.project 390B
bin
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
AirLinePK.class 2KB
AirLine.class 1KB
junit
test
AirLineTest.class 1KB
src
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
AirLine.java 909B
AirLinePK.java 2KB
junit
test
AirLineTest.java 731B
.classpath 2KB
JPAOneToMany
.project 388B
bin
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Order.class 2KB
OrderItem.class 2KB
junit
test
OneToMany.class 2KB
src
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
OrderItem.java 1KB
Order.java 1KB
junit
test
OneToMany.java 1KB
.classpath 2KB
JPAManyToMany
.project 389B
bin
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Teacher.class 2KB
Student.class 2KB
junit
test
ManyToManyTest.class 3KB
src
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Teacher.java 2KB
Student.java 2KB
junit
test
ManyToManyTest.java 3KB
.classpath 2KB
JPA
.project 1005B
.mymetadata 282B
WebRoot
WEB-INF
web.xml 381B
lib
classes
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Person.class 3KB
Gender.class 968B
junit
test
PersonTest.class 4KB
index.jsp 829B
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
JPA
.project 1005B
.mymetadata 282B
WebRoot
WEB-INF
web.xml 381B
lib
classes
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Person.class 1KB
junit
test
PersonTest.class 1KB
index.jsp 829B
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
.myeclipse
src
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Person.java 669B
junit
test
PersonTest.java 733B
.classpath 2KB
.myeclipse
src
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
Person.java 2KB
Gender.java 65B
junit
test
PersonTest.java 5KB
.classpath 2KB
JPAOneToOne
.project 387B
bin
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
IDCard.class 1KB
Person.class 1KB
junit
test
OneTooneTest.class 2KB
src
META-INF
MANIFEST.MF 39B
persistence.xml 1KB
com
ymyjsq
bean
IDCard.java 1017B
Person.java 1KB
junit
test
OneTooneTest.java 974B
.classpath 2KB
共 80 条
- 1
资源评论
- yadnfndn12013-10-20还是应myeclipse 生成来的块
- windlee092013-01-23还是应myeclipse 生成来的块
- DxcLove_Java2013-03-05刚刚开始学习JPA,下载阅读了,对自己很有帮助,谢谢资源分享
ymyjsq
- 粉丝: 2
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功