博客专栏

EEPW首页 > 博客 > Java开发之Jpa本地方式实现数据的持久化分享

Java开发之Jpa本地方式实现数据的持久化分享

发布人:only1 时间:2020-10-26 来源:工程师 发布文章

  今天扣丁学堂小编给大家总结了关于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开发工程师的道路上助你一臂之力,或者直接加入扣丁学堂学习交流群:850353792。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:

相关推荐

技术专区

关闭