무한 등급tree
3167 단어 tree
public class XTree{
//
public static void addNode(String pid,String name) {
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
//
String sql = "select * from category where id=?";
Category parent = (Category)runner.query(sql,pid,new BeanHandler(Category.class));
//
Category son = new Category();
son.setId(UUID.randomUUID().toString());
son.setName(name);
son.setLft(parent.getLft());
son.setRgt(parent.getLft()+1);
//
sql = "update category set lft=lft+2 where lft>=?";
runner.update(sql,parent.getRgt());
sql = "update category set rgt=rgt+2 where rgt>=?"
runner.update(sql,parent.getRgt());
//
sql = "insert into category(id,name,lft,rgt) values(?,?,?,?)";
Object[] params = {son.getId(),son.getName(),son.getLft(),son.getRgt()};
runner.update(sql,params);
}
//
public static List<Category> findAllParent(int lft,int rgt) {
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "select * from category where lft<? and rgt>? order by lft";
Object[] params = {lft,rgt};
return runner.update(sql,params,new BeanListHandler(Category.class));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Lowest Common Ancestor (LCA)Tree에서 두 nodes u와 v의 LCA는, root로부터 가장 멀리(deepest) 있는 공통 조상이다. Naive 하게 root에서 각 node까지의 경로를 비교하여 풀 수 있다. 두 배열을 비교하여 얻은 공...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.