日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot Cassandra的第一步

發布時間:2023/12/3 javascript 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot Cassandra的第一步 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果您想通過Spring Boot開始使用Cassandra NoSQL數據庫,最好的資源可能是此處提供的Cassandra示例和Spring數據Cassandra文檔 。

在這里,我將采取一些繞過的方式,實際是在本地安裝Cassandra并對其進行基本測試,我的目標是在下一篇博客文章中將此示例開發為更全面的示例。

設置本地Cassandra實例

您的工作量可能會有所不同,但是要在本地安裝Cassandra的最簡單方法是使用Cassandra集群管理器(ccm)實用程序( 在此處提供) 。

ccm create test -v 2.2.5 -n 3 -s

或更傳統的方法可能只是從Apache站點下載它。 如果您一直沿用,最適合我的Cassandra版本是2.2.5。

通過以上兩種方法之一,使用ccm啟動Cassandra:

ccm start test

或從Apache站點下載:

bin/cassandra -f

-f標志將使進程保持在前臺,一旦完成樣本,以這種方式停止進程將非常容易。

現在連接到此Cassandra實例:

bin/cqlsh

并創建一個示例Cassandra鍵空間:

CREATE KEYSPACE IF NOT EXISTS sample WITH replication = {'class':'SimpleStrategy', 'replication_factor':1};

使用Spring Boot Cassandra

遵循與Spring Boot相關的任何內容,有一個啟動程序可用于拉入Cassandra的所有相關依賴關系,在此處指定為gradle依賴關系:

compile('org.springframework.boot:spring-boot-starter-data-cassandra')

這將拉入觸發Cassandra相關實例自動配置的依賴關系-主要是Cassandra會話 。

對于示例,我定義了一個名為Hotel的實體,它通過以下方式定義:

package cass.domain;import org.springframework.data.cassandra.mapping.PrimaryKey; import org.springframework.data.cassandra.mapping.Table;import java.io.Serializable; import java.util.UUID;@Table("hotels") public class Hotel implements Serializable {private static final long serialVersionUID = 1L;@PrimaryKeyprivate UUID id;private String name;private String address;private String zip;private Integer version;public Hotel() {}public Hotel(String name) {this.name = name;}public UUID getId() {return id;}public String getName() {return this.name;}public String getAddress() {return this.address;}public String getZip() {return this.zip;}public void setId(UUID id) {this.id = id;}public void setName(String name) {this.name = name;}public void setAddress(String address) {this.address = address;}public void setZip(String zip) {this.zip = zip;}public Integer getVersion() {return version;}public void setVersion(Integer version) {this.version = version;}}

和Spring數據存儲庫來管理該實體:

import cass.domain.Hotel; import org.springframework.data.repository.CrudRepository;import java.util.UUID;public interface HotelRepository extends CrudRepository<Hotel, UUID>{}

需要相應的cql表來保存此實體:

CREATE TABLE IF NOT EXISTS sample.hotels (id UUID,name varchar,address varchar,zip varchar,version int,primary key((id)) );

本質上就是這樣,對Cassandra的Spring數據支持現在將管理該實體的所有CRUD操作,并且測試如下所示:

import cass.domain.Hotel; import cass.repository.HotelRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.UUID;import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo;@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = SampleCassandraApplication.class) public class SampleCassandraApplicationTest {@Autowiredprivate HotelRepository hotelRepository;@Testpublic void repositoryCrudOperations() {Hotel sample = sampleHotel();this.hotelRepository.save(sample);Hotel savedHotel = this.hotelRepository.findOne(sample.getId());assertThat(savedHotel.getName(), equalTo("Sample Hotel"));this.hotelRepository.delete(savedHotel);}private Hotel sampleHotel() {Hotel hotel = new Hotel();hotel.setId(UUID.randomUUID());hotel.setName("Sample Hotel");hotel.setAddress("Sample Address");hotel.setZip("8764");return hotel;}}

這是此示例的github回購。 該示例還沒有太多,在下一篇博客文章中,我將對該示例進行增強,以說明以下事實:了解NoSQL系統中整個集群中數據的分布以及此處的像Hotel這樣的實體如何能夠非常重要。為有效的CRUD操作建模。

翻譯自: https://www.javacodegeeks.com/2016/04/first-steps-spring-boot-cassandra.html

總結

以上是生活随笔為你收集整理的Spring Boot Cassandra的第一步的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。