当前位置: 首页 > news >正文

ppt网站建设四川华泰建设集团网站

ppt网站建设,四川华泰建设集团网站,响应式网站介绍,长沙县营销型网站建设选哪家JPA代表Java Persistence API#xff0c;它基本上是一个规范#xff0c;描述了一种将数据持久存储到持久存储#xff08;通常是数据库#xff09;中的方法。 我们可以将其视为类似于Hibernate的 ORM工具的东西#xff0c;除了它是Java EE规范的正式组成部分#xff08;并… JPA代表Java Persistence API它基本上是一个规范描述了一种将数据持久存储到持久存储通常是数据库中的方法。 我们可以将其视为类似于Hibernate的 ORM工具的东西除了它是Java EE规范的正式组成部分并且Java SE也支持它。 有很多原因需要学习像JPA这样的ORM工具。 我不会详细介绍这个问题因为网络上已经有很多帖子可以完美地回答这个问题例如这个问题或这个问题 。 但是我们还应该记住 这不是解决所有问题的灵丹妙药 。 刚开始使用JPA时我很难设置它因为Web上的大多数文章都是针对Java EE环境编写的而我却试图在Java SE环境中使用它。 我希望本文对将来希望这样做的人有所帮助。 在此示例中我们将使用Maven设置所需的依赖关系。 由于JPA只是一个规范因此我们还需要一个实现。 JPA有许多不错的免费实现例如EclipseLinkHibernate等。 在本文中我选择使用Hibernate。 至于数据库我将使用MySQL。 让我们首先创建一个简单的Maven项目。 我已经从命令行使用快速入门原型创建了我的。 如果您不知道该怎么做可以按照本教程进行操作 。 好的接下来让我们获取JPA的依赖项。 在pom.xml中包括以下几行 dependencygroupIdjavax.persistence/groupIdartifactIdpersistence-api/artifactIdversion1.0.2/version /dependency dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-entitymanager/artifactIdversion4.3.6.Final/versionexclusionsexclusiongroupIdorg.hibernate.javax.persistence/groupIdartifactIdhibernate-jpa-2.1-api/artifactId/exclusion/exclusions /dependency 第一个依赖关系指定标准的JPA接口第二个依赖关系指定实现。 以这种方式包含JPA依赖关系是可取的因为它使我们将​​来可以自由切换特定于供应商的实现而不会遇到太大问题 请参阅此处的详细信息 。 但是由于API版本1.0.2是作为独立JAR发布的最后一个版本因此我们将无法使用该API的最新版本。 在撰写本文时JPA规范的最新版本是2.1尚无法独立获得尽管有很多 要求 。 如果我们现在想使用那个那么我们唯一的选择是从特定于供应商的JAR中选择或者使用提供API及其实现的应用服务器。 我决定使用Hibernate提供的API规范。 在这种情况下仅包含以下依赖关系就足够了 dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-entitymanager/artifactIdversion4.3.6.Final/version /dependency 下一步将包括对MySQL的依赖关系。 在pom.xml中包括以下几行 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.31/version /dependency 包括其余依赖项即jUnitHamcrest等之后完整的pom.xml如下所示 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.keertimaan.javasamples/groupIdartifactIdjpa-example/artifactIdversion0.0.1-SNAPSHOT/versionpackagingjar/packagingnamejpa-example/nameurlhttp://www.codesod.com/urlpropertiesjava.version1.8/java.versionhibernate.version4.3.6.Final/hibernate.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencies!-- JPA --dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-entitymanager/artifactIdversion${hibernate.version}/version/dependency!-- For connection pooling --dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-c3p0/artifactIdversion${hibernate.version}/version/dependency!-- Database --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.31/version/dependency!-- Test --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scopeexclusionsexclusiongroupIdorg.hamcrest/groupIdartifactIdhamcrest-core/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.hamcrest/groupIdartifactIdhamcrest-all/artifactIdversion1.3/versionscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion2.5.1/versionconfigurationsource${java.version}/sourcetarget${java.version}/targetcompilerArgument-Xlint:all/compilerArgumentshowWarningstrue/showWarningsshowDeprecationtrue/showDeprecation/configuration/plugin/plugins/build /project 现在是时候配置我们的数据库了。 我将从这本出色的在线书中找到的所有将来的JPA示例中都将使用以下模式 数据库架构 在本地MySQL安装中按照上述模式创建一个等效的数据库。 下一步是创建persistence.xml文件该文件将包含我们的数据库特定信息供JPA使用。 默认情况下JPA希望此文件位于META-INF文件夹下的类路径中。 对于我们的Maven项目我在project_root / src / main / resources / META-INF文件夹下创建了此文件 persistence xmlnshttp://xmlns.jcp.org/xml/ns/persistence xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/persistencehttp://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsdversion2.1persistence-unit namejpa-example transaction-typeRESOURCE_LOCALproviderorg.hibernate.jpa.HibernatePersistenceProvider/providerpropertiesproperty namejavax.persistence.jdbc.url valuejdbc:mysql://localhost/jpa_example /property namejavax.persistence.jdbc.user valueroot /property namejavax.persistence.jdbc.password valuemy_root_password /property namejavax.persistence.jdbc.driver valuecom.mysql.jdbc.Driver /property namehibernate.show_sql valuetrue /property namehibernate.format_sql valuetrue /property namehibernate.dialect valueorg.hibernate.dialect.MySQL5InnoDBDialect /property namehibernate.hbm2ddl.auto valuevalidate /!-- Configuring Connection Pool --property namehibernate.c3p0.min_size value5 /property namehibernate.c3p0.max_size value20 /property namehibernate.c3p0.timeout value500 /property namehibernate.c3p0.max_statements value50 /property namehibernate.c3p0.idle_test_period value2000 //properties/persistence-unit /persistence 如果您绝对是JPA的初学者则上面的文件需要一些解释。 在我的下一篇文章中我将尽可能地解释它但是对于运行此示例您只需要更改前三个属性值以匹配您的环境即数据库名称用户名和密码即可。 还要记下persistence-unit元素的name属性的值。 此值稍后将在代码中用于实例化EntityManagerFactory实例。 好的现在让我们创建一个实体来测试我们的配置。 创建一个具有以下内容的名为Address的类 import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table;Entity Table(name address) public class Address {IdGeneratedValueprivate Integer id;private String street;private String city;private String province;private String country;private String postcode;/*** return the id*/public Integer getId() {return id;}/*** param id the id to set*/public Address setId(Integer id) {this.id id;return this;}/*** return the street*/public String getStreet() {return street;}/*** param street the street to set*/public Address setStreet(String street) {this.street street;return this;}/*** return the city*/public String getCity() {return city;}/*** param city the city to set*/public Address setCity(String city) {this.city city;return this;}/*** return the province*/public String getProvince() {return province;}/*** param province the province to set*/public Address setProvince(String province) {this.province province;return this;}/*** return the country*/public String getCountry() {return country;}/*** param country the country to set*/public Address setCountry(String country) {this.country country;return this;}/*** return the postcode*/public String getPostcode() {return postcode;}/*** param postcode the postcode to set*/public Address setPostcode(String postcode) {this.postcode postcode;return this;} } 此类已正确映射到地址表并且其实例已准备就绪可以持久存储在数据库中。 现在让我们创建一个名为PersistenceManager的帮助程序类其中包含以下内容 import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence;public enum PersistenceManager {INSTANCE;private EntityManagerFactory emFactory;private PersistenceManager() {// jpa-example was the value of the name attribute of the// persistence-unit element.emFactory Persistence.createEntityManagerFactory(jpa-example);}public EntityManager getEntityManager() {return emFactory.createEntityManager();}public void close() {emFactory.close();} } 现在让我们在Main方法中编写一些示例持久性代码以测试所有内容 import javax.persistence.EntityManager;public class Main {public static void main(String[] args) {Address address new Address();address.setCity(Dhaka).setCountry(Bangladesh).setPostcode(1000).setStreet(Poribagh);EntityManager em PersistenceManager.INSTANCE.getEntityManager();em.getTransaction().begin();em.persist(address);em.getTransaction().commit();em.close();PersistenceManager.INSTANCE.close();} } 如果您检查数据库将会看到地址表中已插入新记录。 本文介绍了如何在不使用任何其他框架如Spring的情况下设置JPA。 但是使用Spring设置JPA是一个非常好的主意因为在这种情况下我们不必担心管理实体管理器事务等。除了设置JPA之外Spring 对于许多其他目的也非常有用。 今天就这样。 在下一篇文章中我将尝试解释persistence.xml文件和相应的配置值。 敬请关注 完整的代码可以在github上找到。 翻译自: https://www.javacodegeeks.com/2014/08/jpa-tutorial-setting-up-jpa-in-a-java-se-environment.html
http://www.pierceye.com/news/242578/

相关文章:

  • 天津建设项目招投标网站唐山网站建设推广
  • 长沙h5建站手机图片网站源码
  • php网站项目无锡有网页制作公司吗
  • 做企业网站需要收费吗wordpress单主题
  • 潮州网站开发多少钱wordpress用户调用
  • 湖南响应式网站公司闸北建设机械网站
  • 图书管理系统网站开发教程北京今朝装饰设计有限公司
  • 济南咨询行业网站开发qq降龙是哪个公司开发的
  • 可以做go分析的网站网站如何做营销
  • 企业网站设计要求做公司网站的价格
  • 网站建设与管理中专专业网页设计公司营销crm系统
  • wordpress全站甘肃省住房和城乡建设厅安置局网站
  • 做视频网站应该选什么服务器十大暗网搜索引擎
  • 建立外贸网站多少钱淮北招聘网最新招聘信息
  • 有做浏览单的网站jsp网站开发过程
  • 做网站用小型机或服务器wordpress 喜欢
  • 网站建设与维护采访稿中国建设银行电脑版
  • 企业网站建设变相收取等级保护费手游平台十大排名
  • 影响力网站建设恩施网站开发
  • 美术馆网站建设总体要求承德信息发布微信平台
  • 同城便民网站开发为什么企业需要建设网站
  • 网站制作推荐新鸿儒黄山游玩攻略及费用
  • 二手车网站的建设app与微网站的区别是什么
  • 深圳做棋牌网站建设哪家便宜网站域名更改后怎么做映射
  • 长沙网站seo公司知名网站设计服务商
  • 网站建设会议讲话lol视频网站源码
  • 深圳市哪些公司做网站好wordpress小插件下载地址
  • 佛山优化网站公司网站策划书格式及范文
  • 上海网站建设公司秦皇岛网站seo
  • 外贸网站推广 sit淮安市广德育建设网站