`
knight_black_bob
  • 浏览: 818777 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

counchbase springmvc maven (nosql)

阅读更多

 

 

package com.cmcc.couchbase;

import java.net.URI;
import java.util.ArrayList;

import com.couchbase.client.CouchbaseConnectionFactory;

public class CouchbaseConnector {
	private String serverAddress;
	private String name;
	private String pwd;

	public CouchbaseConnectionFactory connect() {
		CouchbaseConnectionFactory cf = null;
		
		try {
			String[] serverNames = serverAddress.split(",");
			ArrayList<URI> serverList = new ArrayList<URI>();
			
			for (String serverName : serverNames) {
				URI base = null;
				base = URI.create(String.format("http://%s/pools",serverName));
				serverList.add(base);
			}
			
			cf = new CouchbaseConnectionFactory(serverList, name, pwd);
			return cf;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public void close(){
		
	}

	public String getServerAddress() {
		return serverAddress;
	}

	public void setServerAddress(String serverAddress) {
		this.serverAddress = serverAddress;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPwd() {
		return pwd;
	}

	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}

 

package com.cmcc.couchbase;

import java.io.IOException;

import com.couchbase.client.CouchbaseClient;
import com.couchbase.client.protocol.views.View;

public class CouchbaseTemplate extends CouchbaseClient implements ICouchbaseTemplate
{
	public CouchbaseTemplate(CouchbaseConnector couchbaseConnector) throws IOException
	{
		super(couchbaseConnector.connect());
	}

	public void addRecord(String key, Object value)
	{
		this.add(key, 0, value);
	}

	public Object getRecord(String key)
	{
		return this.get(key);
	}
}

 

package com.cmcc.couchbase;

import com.couchbase.client.CouchbaseClientIF;

public interface ICouchbaseTemplate extends CouchbaseClientIF
{
	public void addRecord(String key,Object value);
	
	public Object getRecord(String key);
	
	public Object get(String key);
}

 

applicationContext.xml

<bean id="couchbaseConnector" class="com.cmcc.couchbase.CouchbaseConnector"
		destroy-method="close">
		<property name="serverAddress">
			<value>${couchBase.server}</value>
		</property>
		<property name="name">
			<value>${couchBase.name}</value>
		</property>
		<property name="pwd">
			<value>${couchBase.pwd}</value>
		</property>
	</bean>
	<bean id="couchbaseTemplate" class="com.cmcc.couchbase.CouchbaseTemplateMock">
		<constructor-arg>
			<ref bean="couchbaseConnector" />
		</constructor-arg>
	</bean>

 

 

pom.xml

	<dependency>
			<groupId>com.couchbase.client</groupId>
			<artifactId>couchbase-client</artifactId>
			<version>1.2.1</version>
			<type>jar</type>
		</dependency>

 

 

使用

@Service
@Transactional
public class AppInfoService {

	@Resource
	ICouchbaseTemplate couchbaseTemplate;
	
	public AppInfo getAppInfo(String appid) {
		Gson gson = new Gson();
		String json = (String) couchbaseTemplate.get("AppInfo-AppId:" + appid);
		AppInfo appInfo = null;
		if(json != null)
			appInfo = gson.fromJson(json, AppInfo.class);
		return appInfo;
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics