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

网页与网站的区别与联系杭州软件开发定制公司

网页与网站的区别与联系,杭州软件开发定制公司,网站开发技术考试题目,软件项目管理计划书apache igniteSpring Data提供了一种统一而简便的方法来访问不同类型的持久性存储#xff0c;关系数据库系统和NoSQL数据存储。 它位于JPA之上#xff0c;添加了另一层抽象并定义了基于标准的设计以在Spring上下文中支持持久层。 Apache Ignite IgniteRepository实现了Spri… apache ignite Spring Data提供了一种统一而简便的方法来访问不同类型的持久性存储关系数据库系统和NoSQL数据存储。 它位于JPA之上添加了另一层抽象并定义了基于标准的设计以在Spring上下文中支持持久层。 Apache Ignite IgniteRepository实现了Spring Data CrudRepository接口并扩展了CrudRepository的基本功能该功能又支持 特定类型存储库上的基本CRUD操作。 通过Spring Data API访问Apache Ignite SQL网格。 使用Spring Data的存储库您只需要编写一个带有finder方法的接口来查询对象。 用于处理对象的所有CRUD方法将自动提供。 举个例子 RepositoryConfig(cacheName DogCache) public interface DogRepository extends IgniteRepositoryDog, Long {ListDog getDogByName(String name);Dog getDogById (Long id); } 在本文中我们将介绍以下主题 从头开始创建一个Maven项目以将Spring Data与Apache Ignite Grid一起使用。 通过Spring Data框架将一些实体持久保存到Ignite缓存中。 在开始之前让我们在沙箱中介绍项目的先决条件 Java JDK 1.8 点燃2.0版 Apache Maven版本 3.0.3 第1步 让我们先设置沙箱。 创建一个Maven项目或从GitHub存储库克隆该项目。 mvn archetype:create -DgroupIdcom.blu.imdg -DartifactIdspring-data 修改pom.xml添加以下Maven依赖项 dependencygroupIdorg.apache.ignite/groupIdartifactIdignite-core/artifactIdversion2.0.0/version /dependency dependencygroupIdorg.apache.ignite/groupIdartifactIdignite-spring/artifactIdversion2.0.0/version /dependency dependencygroupIdorg.apache.ignite/groupIdartifactIdignite-spring-data/artifactIdversion2.0.0/version /dependency dependencygroupIdorg.apache.ignite/groupIdartifactIdignite-indexing/artifactIdversion2.0.0/version /dependency dependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion1.4.195/version /dependency 注意maven h2依赖关系是可选的。 如果遇到类似“ org.h2.result.RowFactory”的错误请显式添加依赖项。 我们的示例域模型由两个不同的实体组成“品种”和“狗”。 品种和狗之间的关联是ManyToOne 。 一只狗只能有一个品种。 现在让我们通过创建Java类并使用所需的元信息注释它们来映射域模型。 让我们从Breed类开始。 package com.blu.imdg.model;import org.apache.ignite.cache.query.annotations.QuerySqlField;import java.io.Serializable;public class Breed implements Serializable {QuerySqlField(index true)private Long id;QuerySqlField(index true)private String name;public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}Overridepublic String toString() {return Breed{ id id \ , name name \ };} } 请注意 QuerySqlField批注启用用于SQL查询的字段。 创建另一个名为Dog的类并向其中添加以下内容。 package com.blu.imdg.model;import org.apache.ignite.cache.query.annotations.QuerySqlField;import java.io.Serializable; import java.sql.Date;public class Dog implements Serializable {QuerySqlField(index true)private Long id;QuerySqlField(index true)private String name;QuerySqlField(index true)private Long breedid;QuerySqlField(index true)private Date birthdate;public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public Long getBreedid() {return breedid;}public void setBreedid(Long breedid) {this.breedid breedid;}public Date getBirthdate() {return birthdate;}public void setBirthdate(Date birthdate) {this.birthdate birthdate;}Overridepublic String toString() {return Dog{ id id , name name \ , breedid breedid , birthdate birthdate };} } 现在让我们为之前创建的所有pojo创建Spring存储库。 package com.blu.imdg.repositories;import com.blu.imdg.model.Dog; import org.apache.ignite.springdata.repository.IgniteRepository; import org.apache.ignite.springdata.repository.config.RepositoryConfig;import java.util.List;RepositoryConfig(cacheName DogCache) public interface DogRepository extends IgniteRepositoryDog, Long {ListDog getDogByName(String name);Dog getDogById (Long id); } 应该指定RepositoryConfig批注以将存储库映射到分布式缓存。 另外我们有两个查找器方法getDogByName和getDogById用于查询缓存。 让我们为Breed域添加一个类似的存储库如下所示 package com.blu.imdg.repositories;import com.blu.imdg.model.Breed; import org.apache.ignite.springdata.repository.IgniteRepository; import org.apache.ignite.springdata.repository.config.Query; import org.apache.ignite.springdata.repository.config.RepositoryConfig; import org.springframework.data.domain.Pageable;import java.util.List;RepositoryConfig(cacheName BreedCache) public interface BreedRepository extends IgniteRepositoryBreed, Long {ListBreed getAllBreedsByName (String name);Query(SELECT id FROM Breed WHERE id ?)ListLong getById (long id, Pageable pageable); } 在上面的BreedRepository接口中我们还使用QueryqueryString批注如果由于方法调用而需要执行具体SQL查询则可以使用该批注。 第5步 让我们创建缓存配置类。 创建一个Ignite缓存配置类并使用EnableIgniteRepositories批注标记应用程序配置如下所示 package com.blu.imdg.repositories;import com.blu.imdg.model.Breed; import com.blu.imdg.model.Dog; import org.apache.ignite.Ignite; import org.apache.ignite.Ignition; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.springdata.repository.config.EnableIgniteRepositories; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration EnableIgniteRepositories public class SpringAppConfig {Beanpublic Ignite igniteInstance() {IgniteConfiguration cfg new IgniteConfiguration();// Setting some custom name for the node.cfg.setIgniteInstanceName(springDataNode);// Enabling peer-class loading feature.cfg.setPeerClassLoadingEnabled(true);// Defining and creating a new cache to be used by Ignite Spring Data// repository.CacheConfiguration ccfgDog new CacheConfiguration(DogCache);CacheConfiguration ccfgBreed new CacheConfiguration(BreedCache);// Setting SQL schema for the cache.ccfgBreed.setIndexedTypes(Long.class, Breed.class);ccfgDog.setIndexedTypes(Long.class, Dog.class);cfg.setCacheConfiguration(new CacheConfiguration[]{ccfgDog, ccfgBreed});return Ignition.start(cfg);} } 请注意我们为Breed和Dog缓存使用了两个单独的CacheConfiguration。 另外设置缓存SQL模式。 一旦准备好使用所有配置和存储库我们只需要在Spring应用程序上下文中注册配置即可。 package com.blu.imdg;import com.blu.imdg.model.Breed; import com.blu.imdg.model.Dog; import com.blu.imdg.repositories.BreedRepository; import com.blu.imdg.repositories.DogRepository; import com.blu.imdg.repositories.SpringAppConfig; import org.springframework.context.annotation.AnnotationConfigApplicationContext;import java.sql.Date; import java.util.List;/*** Hello world!**/ public class App {private static AnnotationConfigApplicationContext ctx;private static BreedRepository breedRepository;private static DogRepository dogRepository;public static void main( String[] args ){System.out.println( Spring Data Example! );ctx new AnnotationConfigApplicationContext();ctx.register(SpringAppConfig.class);ctx.refresh();breedRepository ctx.getBean(BreedRepository.class);dogRepository ctx.getBean(DogRepository.class);//fill the repository with data and SaveBreed collie new Breed();collie.setId(1L);collie.setName(collie);//save Breed with name colliebreedRepository.save(1L, collie);System.out.println(Add one breed in the repository!);// Query the breedListBreed getAllBreeds breedRepository.getAllBreedsByName(collie);for(Breed breed : getAllBreeds){System.out.println(Breed: breed);}//Add some dogsDog dina new Dog();dina.setName(dina);dina.setId(1L);dina.setBreedid(1L);dina.setBirthdate(new Date(System.currentTimeMillis()));//Save DinadogRepository.save(2L,dina);System.out.println(Dog dina save into the cache!);//Query the Dog DinaListDog dogs dogRepository.getDogByName(dina);for(Dog dog : dogs){System.out.println(Dog: dog);}} } 上面的代码片段非常简单。 首先我们创建一个Spring注释的上下文并注册我们的存储库。 接下来我们获得对BreedRepository和DogRepository的引用以插入一些数据。 要查询数据我们使用基本的CRUD操作或方法这些操作或方法将自动转换为Apache Ignite SQL查询 ListDog dogs dogRepository.getDogByName(dina); for(Dog dog : dogs){System.out.println(Dog: dog); } 让我们构建并运行该应用程序。 执行以下命令。 mvn clean install mvn exec:java -Dexec.mainClasscom.blu.imdg.App 您应该在控制台中找到很多日志消息。 日志消息确认两个条目dina和colle-collie已刷新到Ignite缓存中并从缓存中检索了狗Dina 。 让我们通过Ignite Visor探索缓存。 已为实体创建了两个不同的缓存“品种”和“狗”。 如果我们扫描Dog缓存的缓存条目则应在其上找到以下实体。 实体Dina已使用Breed牧羊犬的钥匙保存在缓存中。 如果要了解有关Apache Ignite的更多信息使用JPAHibernate或MyBatis请参阅《 使用Apache Ignite进行高性能内存计算 》一书。 翻译自: https://www.javacodegeeks.com/2017/07/apache-ignite-spring-data.htmlapache ignite
http://www.huolong8.cn/news/31007/

相关文章:

  • 个人网站模板html代码上海人才网官网招聘人力资源专业
  • 南昌网站开发建设营销型网站策划公司
  • 货代找客户的网站商务网站信息审核的重要性在于
  • 做网站电脑开一天用多少钱做网站需要多少钱 百度
  • 公司网站开发费用兴田德润官方网站简单网站设计
  • 什么网站可以做数据图门户网站开发 项目实施方案
  • 网站建设中的定位设想厂家网站怎么做
  • 松江网站设计医院网站前置审批文件
  • 网站建设制作多少钱网站开发费用计入什么二级科目
  • app网站开发定制可以做淘宝推广的网站有哪些内容
  • 怎样注册一个网站做电商手机网站 空间
  • 明年做哪个网站致富网站建设费往什么科目
  • 将网站制作成app校园网站建设需要数据库吗
  • 沈阳专业网站建设公司排名开发公司回迁房视同销售会计处理
  • 北京顺义做网站app公司管理
  • 工艺品网站建设怎么注册自己的微信小程序
  • 免费做网站收录的计算机企业网站建设论文
  • 京东商城网站域名做淘宝主要看哪些网站
  • 做电子商务网站需要学什么开发网站报价方案
  • 哪个网站做的w7系统好网站开发 技术架构
  • 网站功能配置wordpress企业类模板下载
  • 专业的图纸设计网站域名三天更换一次
  • 扶贫网站开发的目的是什么爱站网注册人查询
  • 宿迁网站建设价位网站建设主体设计要求
  • 北京南站地图关键词排名优化流程
  • 百度帐号登录个人中心肇庆seo
  • 广州做网站厉害的公司童程童美官方网
  • 网站虚拟建设策划做百度手机网站关键词排名
  • 网站建设的设计思路上海企业名录地址电话
  • 微网站分销企业网站推广方式和策略