Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MicroCountry/table-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

table-store

表格存储(tablestore)

使用

具体可以查看sdk中的demo目录

  1. 定义表对应的entity对象,使用@TableEntity(name = "table_name_test"),table_name_test为表名
  2. 属性使用TableKey,TableColumn注解,TableKey是使用在主键上,TableKey中sort必填,必须连续,且要和表格存储创建表的顺序一致;type需要和创建时一致
  3. 如果在spring中使用的话,建议每个instance创建一个service,这个instance里面的表操作都应该使用这个service,不同的表initTable不同的表名就行;每次调用,必须先向initTable传入tablename和table对象,得到StoreTableRow,然后可以调用StoreTableRow的方法进行操作

示例

instance 的service需要继承TableStoreService


	@Service
	public class ActionTableStoreServiceImpl extends TableStoreService {
	
	 @Value("${aliyun.accessId}")
	 private String aliyunAccessId;
	
	 @Value("${aliyun.accessKey}")
	 private String aliyunAccessKey;
	
	 @Value("${aliyun.tablestore.action.endPoint}")
	 private String actionEndPoint;
	
	 @Value("${aliyun.tablestore.action.instanceName}")
	 private String actionInstanceName;
	 
	 
	
	 @PostConstruct
	 public void init() {
	 super.accessId = this.aliyunAccessId;
	 super.accessKey = this.aliyunAccessKey;
	 super.endPoint = this.actionEndPoint;
	 super.instanceName = this.actionInstanceName;
	 initClient();
	 }
	 
	 /***
	 *
	 *
	 *
	 ***/
	}
	

定义调用方法:


@Service
public class UserActionServiceImpl implements UserActionService {
 private static final Logger logger = LoggerFactory.getLogger(UserActionServiceImpl.class);
 @Autowired
 private ActionTableStoreServiceImpl actionTableStoreService;
 @Autowired
 private IdentityService identityService;
 @Value("${aliyun.tablestore.action.tableName}")
 private String actionTableName;
 @Override
 public void doRecord(UserAction userAction) {
 //设置主键
 long actionId = identityService.genRandomId();
 userAction.setActionId(actionId);
 logger.info("[doRecord] userAction = "+ JSONObject.toJSONString(userAction));
 StoreTableRow row = actionTableStoreService.initTable(actionTableName,userAction);
 if(row == null){
 logger.error("[doRecord] row init error");
 return;
 }
 actionTableStoreService.putRow(row);
 }
}

使用的时候只用实例化UserAction,然后调用doRecord方法即可

About

表格存储(tablestore)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /