扣丁学堂Java开发之Jpa本地方式实现数据的持久化

2018-01-31 15:19:21 443浏览

今天扣丁学堂小编给大家总结了关于Jpa本地方式实现数据的持久化的介绍,首先Jpa本身支持多种方式的对象持久化,比如数据库方式,还有一种方式就是本地文件的方式,本文来讲解以本地方式实现的数据持久化,具体的资源大家可以参阅一下odb官网。



在odb官网中,可以自行下载objectdb的jar包和其余资源,如果文档和源码。里面有关于jpa的具体实现方式,使用的工具为eclipse:

1、新增java项目,将刚刚下载好的objectdb.jar包放在classpath中

2、创建实体类,需要实现Serializable接口,其中分别给类添加Entity注解,给主键属性添加Id和GeneratedValue注解

@Entity

publicclassPointimplementsSerializable{

privatestaticfinallongserialVersionUID=1L;

@Id@GeneratedValue

privatelongid;

privateintx;

privateinty;

publicPoint(){

}

Point(intx,inty){

this.x=x;

this.y=y;

}

publicLonggetId(){

returnid;

}

publicintgetX(){

returnx;

}

publicintgetY(){

returny;

}

@Override

publicStringtoString(){

returnString.format("(%d,%d)",this.x,this.y);

}

}

3.新增java的测试类,并添加main方法,进行对象的crud操作

//Openadatabaseconnection

//(createanewdatabaseifitdoesn'texistyet):

EntityManagerFactoryemf=

Persistence.createEntityManagerFactory("$objectdb/db/points.odb");

EntityManagerem=emf.createEntityManager();

//Store1000Pointobjectsinthedatabase:

em.getTransaction().begin();

for(inti=0;i<1000;i++){

Pointp=newPoint(i,i);

em.persist(p);

}

em.getTransaction().commit();

//FindthenumberofPointobjectsinthedatabase:

Queryq1=em.createQuery("SELECTCOUNT(p)FROMPointp");

System.out.println("TotalPoints:"+q1.getSingleResult());

//FindtheaverageXvalue:

Queryq2=em.createQuery("SELECTAVG(p.x)FROMPointp");

System.out.println("AverageX:"+q2.getSingleResult());

//RetrieveallthePointobjectsfromthedatabase:

TypedQueryquery=

em.createQuery("SELECTpFROMPointp",Point.class);

Listresults=query.getResultList();

for(Pointp:results){

System.out.println(p);

}

//Closethedatabaseconnection:

em.close();

emf.close();

4.运行主方法完成测试

TotalPoints:1000

AverageX:499.5

(0,0)

(1,1)

(2,2)

(3,3)

:

:

(998,998)

(999,999)

5、objectdb解压后还有一个非常好用的可视化客户端工具,完成jpql的简单校验。

以上就是关于Jpa本地方式实现数据的持久化的详细介绍,最后想要学习JavaEE培训课程的小伙伴可以联系我们扣丁学堂的咨询老师,我们这里有配套的JavaEE视频教程课程,在你成为JAVA开发工程师的道路上助你一臂之力,或者直接加入扣丁学堂学习交流群:670348138。





【关注微信公众号获取更多的学习资料】



查看更多关于“Java开发资讯”的相关文章>>

标签: JavaEE视频教程 JavaEE培训 JavaEE开发工程师 Java培训 Java开发程序员 Java面试题

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号