如何将SQL表数据以表格式加载到ignite缓存中



正在将sql表数据加载到ignite缓存中,但它将以键值对加载,但我需要以表格式加载,你能建议吗?示例代码片段:

IgniteCache<整数,二进制对象>binaryCache=ignite.createCache(cacheName(.withKeepBinary((;BinaryObjectBuilder=ignite.binary((.builder(cacheName(;builder.setField(columnsName,sourceResultSet.getString(values((;}binaryCache.put(resultSetRowCount,builder.build(((;}

Ignite是一个支持SQL的键值数据库。使用键-值API将数据加载到表中并使用SQL进行查询是完全有效的。

创建缓存时,需要定义表结构。由于不需要使用模型类/注释,因此需要使用查询实体。

文档示例:

class Person implements Serializable {
private long id;
private String name;
private int age;
private float salary;
}
public static void main(String[] args) {
Ignite ignite = Ignition.start();
CacheConfiguration<Long, Person> personCacheCfg = new CacheConfiguration<Long, Person>();
personCacheCfg.setName("Person");
QueryEntity queryEntity = new QueryEntity(Long.class, Person.class)
.addQueryField("id", Long.class.getName(), null).addQueryField("age", Integer.class.getName(), null)
.addQueryField("salary", Float.class.getName(), null)
.addQueryField("name", String.class.getName(), null);
queryEntity.setIndexes(Arrays.asList(new QueryIndex("id"), new QueryIndex("salary", false)));
personCacheCfg.setQueryEntities(Arrays.asList(queryEntity));
IgniteCache<Long, Person> cache = ignite.createCache(personCacheCfg);
}

最新更新