packagecom.coshaho.learn.ignite.sql;importjava.util.List;importorg.apache.ignite.Ignite;importorg.apache.ignite.IgniteCache;importorg.apache.ignite.Ignition;importorg.apache.ignite.cache.CacheMode;importorg.apache.ignite.cache.query.QueryCursor;importorg.apache.ignite.cache.query.SqlFieldsQuery;importorg.apache.ignite.configuration.CacheConfiguration;/***
* IgniteDB.java Create on 2017年5月25日 下午11:00:35
*
* 类功能说明: ignite内存数据库
*
* Copyright: Copyright(c) 2013
* Company: COSHAHO
* @Version 1.0
* @Author coshaho*/
public classIgniteDB
{public static voidmain(String[] args)
{
Ignite ignite=Ignition.start();
CacheConfiguration classCfg = new CacheConfiguration();
classCfg.setName("CLA");
classCfg.setCacheMode(CacheMode.PARTITIONED);
classCfg.setIndexedTypes(Integer.class, Class.class);
IgniteCache classCache =ignite.getOrCreateCache(classCfg);
classCache.put(1, new Class(1, "五年级一班"));
classCache.put(2, new Class(2, "五年级二班"));
CacheConfiguration stuCfg = new CacheConfiguration();
stuCfg.setName("STU");
stuCfg.setCacheMode(CacheMode.PARTITIONED);
stuCfg.setIndexedTypes(Integer.class, Student.class);
IgniteCache stuCache =ignite.getOrCreateCache(stuCfg);
stuCache.put(1, new Student(1, "张三", 10));
stuCache.put(2, new Student(1, "李四", 11));
stuCache.put(3, new Student(2, "王五", 11));
stuCache.put(4, new Student(2, "胜七", 10));
SqlFieldsQuery sql= newSqlFieldsQuery("select concat(stu.classId, '----', stu.name) as stuinfo"
+ " "
+ "from Student as stu "
+ "");
QueryCursor> cursor =stuCache.query(sql);for (List>row : cursor)
{
System.out.println("学生信息:" + row.get(0));
}
SqlFieldsQuery sql1= newSqlFieldsQuery("select concat(cla.id, '----', cla.name) as clainfo"
+ ", concat(stu.name, '----', stu.age) as stuinfo "
+ "from Class as cla, STU.Student as stu "
+ "where cla.id = stu.classId");
QueryCursor> cursor1 =classCache.query(sql1);for (List>row : cursor1)
{
System.out.println("班级信息:" + row.get(0) + ", 学生信息:" + row.get(1));
}
}
}