这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 扣丁学堂Java开发之Jpa本地方式实现数据的持久化

共4条 1/1 1 跳转至

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

助工
2020-10-26 10:57:02     打赏

  今天扣丁学堂小编给大家总结了关于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。



工程师
2020-10-28 22:33:34     打赏
2楼

感谢分享


高工
2020-10-29 21:54:51     打赏
3楼

十分感谢您的分享


工程师
2020-11-01 22:39:26     打赏
4楼

确实可以


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]