ts) {
@@ -288,6 +287,7 @@ default void upsertByIdSelective(T record) {
// endregion
// region delete zoom
+
/**
* 数据操作,逻辑删除接口,前提当前类 有字段 is_del
*
@@ -329,6 +329,7 @@ default Integer deleteById(I id) {
}
// endregion
+
/**
* 通过 主键批量删除当前记录
*
@@ -345,6 +346,7 @@ default Integer deleteByIdBatch(Collection ids) {
}
// region graph special
+
/**
* 根据三元组值,插入关系。任一参数为空,不执行。
*
@@ -376,9 +378,9 @@ default void insertEdgeBatch(List triplets) {
* 根据三元组值, 插入关系。任一参数为空,不执行。
* Selective: 仅处理非空字段
*
- * @param src 开始节点值
- * @param edge 关系值
- * @param dst 结束节点值
+ * @param src 开始节点值
+ * @param edge 关系值
+ * @param dst 结束节点值
*/
default void insertEdgeSelective(Object src, Object edge, Object dst) {
if (dst == null || src == null || edge == null) {
@@ -393,9 +395,9 @@ default void insertEdgeSelective(Object src, Object edge, Object dst) {
* 根据三元组值, 插入关系。任一参数为空,不执行。
* Selective: 仅处理非空字段
*
- * @param src 开始节点值
- * @param edge 关系值
- * @param dst 结束节点值
+ * @param src 开始节点值
+ * @param edge 关系值
+ * @param dst 结束节点值
*/
default void upsertEdgeSelective(Object src, Object edge, Object dst) {
if (dst == null || src == null || edge == null) {
@@ -411,22 +413,22 @@ default void upsertEdgeSelective(Object src, Object edge, Object dst) {
*
* @param startId 开始节点的 id
* @param edgeType 关系类型
- * @param endId 结束节点的 id
+ * @param endId 结束节点的 id
* @return 数据库中,两个 id 的节点是否有关系
*/
default Boolean existsEdge(I startId, Class> edgeType, I endId) {
String cqlTpl = getCqlTpl();
String edgeName = edgeName(edgeType);
return (Boolean) proxy(this.getClass(), Boolean.class, cqlTpl,
- new Class[]{Serializable.class, Class.class, Serializable.class}, startId, edgeName,
- endId);
+ new Class[]{Serializable.class, Class.class, Serializable.class}, startId, edgeName,
+ endId);
}
/**
* 通过结束节点id与关系类型获取所有开始节点,
开始节点类型为当前接口实现类所管理的实体对应的类型
*
* @param edgeType 关系类型
- * @param endId 结束节点的 id
+ * @param endId 结束节点的 id
* @return 开始节点列表
*/
default List listStartNodes(Class> edgeType, I endId) {
@@ -439,7 +441,7 @@ default List listStartNodes(Class> edgeType, I endId) {
*
* @param startType 开始节点的类型
* @param edgeType 关系类型
- * @param endId 结束节点的 id
+ * @param endId 结束节点的 id
* @return 开始节点列表
*/
default List> listStartNodes(Class> startType, Class> edgeType, I endId) {
@@ -449,14 +451,14 @@ default List> listStartNodes(Class> startType, Class> edgeType, I endId) {
Class extends NebulaDaoBasic> daoType = this.getClass();
Class> returnType = entityType(daoType);
return (List>) proxy(daoType, returnType, cqlTpl,
- new Class[]{Class.class, Class.class, Serializable.class}, startVertexName, edgeName,
- endId);
+ new Class[]{Class.class, Class.class, Serializable.class}, startVertexName, edgeName,
+ endId);
}
/**
* 通过开始节点id与关系类型获取所有结束节点,
结束节点类型为当前接口实现类所管理的实体对应的类型
*
- * @param startId 开始节点id
+ * @param startId 开始节点id
* @param edgeType 关系类型
* @return 结束节点列表
*/
@@ -468,9 +470,9 @@ default List listEndNodes(I startId, Class> edgeType) {
/**
* 指定结束节点类型 并通过开始节点id与关系类型获取所有结束节点
*
- * @param startId 开始节点的id
+ * @param startId 开始节点的id
* @param edgeType 关系类型
- * @param endType 结束节点的类型
+ * @param endType 结束节点的类型
* @return 结束节点列表
*/
default List> listEndNodes(I startId, Class> edgeType, Class> endType) {
@@ -488,7 +490,7 @@ default List> listEndNodes(I startId, Class> edgeType, Class> endType) {
* 通过结束节点id与关系类型获取第一个开始节点,
开始节点类型为当前接口实现类所管理的实体对应的类型 (对应类型)
*
* @param edgeType 关系类型
- * @param endId 结束节点的 id
+ * @param endId 结束节点的 id
* @return 开始节点
*/
default T startNode(Class> edgeType, I endId) {
@@ -501,8 +503,8 @@ default T startNode(Class> edgeType, I endId) {
*
* @param startType 开始节点的类型
* @param edgeType 关系类型
- * @param endId 结束节点的 id
- * @param 开始节点的类型
+ * @param endId 结束节点的 id
+ * @param 开始节点的类型
* @return 开始节点
*/
default E startNode(Class startType, Class> edgeType, I endId) {
@@ -512,17 +514,18 @@ default E startNode(Class startType, Class> edgeType, I endId) {
Class extends NebulaDaoBasic> daoType = this.getClass();
Class> returnType = entityType(daoType);
return (E) proxy(daoType, returnType, cqlTpl,
- new Class[]{Class.class, Class.class, Serializable.class}, startVertexName, edgeName,
- endId);
+ new Class[]{Class.class, Class.class, Serializable.class}, startVertexName, edgeName,
+ endId);
}
/**
* Find the shortest path by srcId and dstId.
+ *
* @param srcId the start node's id
* @param dstId the end node's id
* @return Shortest path list. entities containing vertext in path.
- * If you want to obtain attributes within an entity,
- * you need to use “with prop” in the nGQL.
+ * If you want to obtain attributes within an entity,
+ * you need to use “with prop” in the nGQL.
*/
default List> shortestPath(@Param("srcId") I srcId, @Param("dstId") I dstId) {
MethodModel methodModel = getMethodModel();
@@ -534,22 +537,23 @@ default List> shortestPath(@Param("srcId") I srcId, @Param("dstId") I
/**
* 查找指定起始点和目的点之间的最短路径
- * @param srcId 起始点id
- * @param dstId 目的点id
+ *
+ * @param srcId 起始点id
+ * @param dstId 目的点id
* @param edgeTypeList Edge type 列表
- * @param direction REVERSELY表示反向,BIDIRECT表示双向
+ * @param direction REVERSELY表示反向,BIDIRECT表示双向
* @return 起始点和目的点之间的最短路径
*/
- default List> shortestOptionalPath(@Param("srcId") I srcId,@Param("dstId") I dstId,
- @Param("edgeTypeList") List edgeTypeList,
- @Param("direction") String direction
+ default List> shortestOptionalPath(@Param("srcId") I srcId, @Param("dstId") I dstId,
+ @Param("edgeTypeList") List edgeTypeList,
+ @Param("direction") String direction
) {
MethodModel methodModel = getMethodModel();
methodModel.setReturnType(Collection.class);
methodModel.setResultType(NgPath.class);
ClassModel classModel = getClassModel(this.getClass());
return (List>) MapperProxy.invoke(classModel, methodModel,
- srcId, dstId,edgeTypeList,direction);
+ srcId, dstId, edgeTypeList, direction);
}
// endregion
@@ -557,19 +561,15 @@ default List> shortestOptionalPath(@Param("srcId") I srcId,@Param("dst
/**
* 列出所有图空间
+ *
* @return 所有图空间
*/
default List showSpaces() {
MethodModel methodModel = getMethodModel();
- methodModel.setReturnType(ResultSet.class);
- methodModel.setResultType(ResultSet.class);
+ methodModel.setReturnType(CollectionStringResultHandler.class);
+ methodModel.setResultType(String.class);
ClassModel classModel = getClassModel(this.getClass());
- ResultSet resultSet = (ResultSet) MapperProxy.invoke(classModel, methodModel);
- List spaceNames = new ArrayList();
- for (int i = 0; i < resultSet.rowsSize(); i++) {
- spaceNames.add(resultSet.rowValues(i).get("Name").toString());
- }
- return spaceNames;
+ return (List) MapperProxy.invoke(classModel, methodModel);
}