51,396
社区成员




public Result selectChild(Long departmentId) {
try {
Map<String, Object> paramentMap = Collections.singletonMap("departmentId", departmentId);
String sqlText = "MATCH(N:WechatDepartment)-[:child]->(M:WechatDepartment) \n" +
"WHERE N.departmentId = {departmentId} \n" +
"RETURN ID(M) as id, M.departmentId as departmentId, M.name as name, M.order as order, M.enable as enable";
//返回一个org.neo4j.driver.Result类型
Result result = session.run(sqlText, paramentMap);
//需要转化为List<WechatDepartment>
//方法1 List<Record> list();
List<Record> records = result.list();
//方法2 <T> List<T> list(Function<Record, T> var1)
???
return result;
} catch (Exception e) {
System.out.println(e);
throw e;
} finally {
//session.close();
}
}
public interface Result extends Iterator<Record> {
List<String> keys();
boolean hasNext();
Record next();
Record single() throws NoSuchRecordException;
Record peek();
Stream<Record> stream();
List<Record> list();
<T> List<T> list(Function<Record, T> var1);
ResultSummary consume();
}
@Override
public <T> List<T> list(Function<String, T> var1) {
List<String> list = this.list();
return list.stream().map(var1::apply).collect(Collectors.toList());
}
public class RecordToBean {
public static Function<Record, WechatDepartment> recordToWechatDepartment = record -> {
//这里没有打印
System.out.println("===================:" + record.get("name").asString());
WechatDepartment wechatDepartment = new WechatDepartment();
wechatDepartment.setDepartmentId(record.get("departmentId").asLong());
wechatDepartment.setName(record.get("name").asString());
wechatDepartment.setParentId(record.get("parentId").asLong());
wechatDepartment.setOrder(record.get("order").asLong());
wechatDepartment.setEnable(record.get("enable").asInt());
return wechatDepartment;
};
}
//方法2
List<WechatDepartment> departments = result.list(RecordToBean.recordToWechatDepartment);
//长度为0
System.out.println("departments.size():" + departments.size());