java jpa jar_JavaSE中Jpa的应用入门

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文件.配置如下:

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">

org.hibernate.ejb.HibernatePersistence

org.jenfer.jpa.entity.Emp

说明:persistence-unit是持久化单元的名字

< provider/>:JPA实现提供程序

持久化的类

实现厂商自定义的属性

这里是hibernate的自定属性.相关资料参考hibernate的配置

三.实体类的实现:

以下是是用Jpa的注解的POJO.

@Table,@Entity等请参考Jpa官方文档

@Table(name ="emp")

@Entity(name ="Emp")

publicclassEmp {

@Id

@Column(name ="emp_id")

@GeneratedValue(strategy = GenerationType.IDENTITY)

privateintempId;

@Column(name ="emp_name", length = 10)

privateStringempName;

privateStringemail;

/**

*Defaultconstructor

*/

publicEmp() {

}

publicintgetEmpId() {

returnempId;

}

publicvoidsetEmpId(intempId) {

this.empId= empId;

}

publicString getEmpName() {

returnempName;

}

publicvoidsetEmpName(String empName) {

this.empName= empName;

}

publicString getEmail() {

returnemail;

}

publicvoidsetEmail(String email) {

this.email= email;

}

}

四.测试类库的编写.用到Junit测试框架

publicclassEvnTest {

privatestaticEntityManagermanager;

@BeforeClass

public static void init() {

EntityManagerFactory factory = Persistence

.createEntityManagerFactory("Emp");

manager = factory.createEntityManager();

}

@AfterClass

publicstaticvoiddestory(){

if(manager!=null){

manager.close();

}

}

@Test

@Ignore

publicvoidenvTest() {

Emp emp =newEmp();

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

publicvoidqueryTest() {

Emp emp=manager.find(Emp.class, 1);

System.out.println(emp.getEmpName());

}

@Test@Ignore

publicvoidupdateTest(){

Emp emp =newEmp();

emp.setEmail("jsj@123.com");

emp.setEmpName("周剑华");

emp.setEmpId(1);

EntityTransaction tx =manager.getTransaction();

try{

tx.begin();

manager.merge(emp);

tx.commit();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值