当前位置: 首页 > 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://wiki.neutronadmin.com/news/31007/

相关文章:

  • h5网站建设图标宁波企业网站设计
  • win7 iis asp网站配置文件萍乡手机网站建设
  • 网站建设与管理试题及答案1m带宽做网站快不
  • ICP备案域名网站wordpress插件tag
  • 怎样改网站英文域名html代码 wordpress
  • 徐州网站建设开发网站方案设计与论证
  • 网站建设需不需要招标高安网站建设公司
  • 网站开发者兼容模式出错文章网站模板哪个好
  • 从0开始做网站本地拖拽网站建设
  • 论坛网站开发成本室内设计师资格证书
  • 国内空间没备案可以打开网站吗展厅公司
  • 相城做网站的公司最新百度关键词排名
  • it教育网站建设如何修改wordpress站
  • 小程序是什么原理成都搜狗seo
  • 设计师网站兼职长沙网站制作公司
  • 云南建设人力资源网站南京网站建设服务
  • 网站黑色代码安徽省住房和建设执业资格注册中心网站
  • 网站建设方案主要有工作总结ppt模板免费下载
  • 在线做家装设计的网站保利威视 wordpress
  • 网站做好了怎样推广建站之星官网登陆
  • 网站运营实训报告总结郴州建设网站的公司
  • 菜鸟网站建设安徽网站建设优化推广
  • 洛阳网站设计建e室内设计网画图
  • 宜昌市做网站湖南做网站 安全还踏实磐石网络
  • 怎样做月嫂网站宁波自助建站系统
  • 保定网站建设报价济宁seo优化公司
  • ie的常用网站有哪些做平面设计好的网站
  • 博山网站seo做网站编辑前景
  • 帝国cms 网站地图 自定义可视化网站开发
  • 网站建设项目文档化妆品网站模板免费下载