spliton引數:用來指定列為分隔列,之前的列為前一物件,之後的列為後一物件。
lookup用來儲存中間處理結果,可以理解為將結果歸組出group物件,並為其rightslist新增內容,
注意:
lookup中新增的是臨時定義的group物件,並在迴圈中將此物件從lookup中取出,為其rightslist新增rights
class rights
public string name
}
class group
public string name
public listrightslist
}
create table `t_group_right` (
`rightid` varchar(50) not null,
`groupid` varchar(50) not null,
key `fk_group_rights_id` (`rightid`),
key `fk_rights_group_id` (`groupid`),
constraint `fk_group_rights_id` foreign key (`rightid`) references `t_rights` (`id`),
constraint `fk_rights_group_id` foreign key (`groupid`) references `t_group` (`id`)
) engine=innodb default charset=utf8;
查詢角色列表
public listgetall()
tmp.rightslist.add(r);
return g;
}, spliton: "id").tolist();
return lookup.values.tolist();}}
operator物件
class operator
public string name
[nowrite]
public listgrouplist
[nowrite]
public listrightslist
}
查詢乙個operator物件
public operator get(string id)
group tmp = lookup.grouplist.find(f => f.id == g.id);
if (tmp == null)
tmp.rightslist.add(r);
lookup.rightslist.add(r);
return o;
},param: new ,
spliton: "id");
return lookup;}}
獲取operator列表:
public listgetall()
group tmpg = tmp.grouplist.find(f => f.id == g.id);
if (tmpg == null)
//角色許可權列表
rights tmpr = tmpg.rightslist.find(f => f.id == r.id);
if (tmpr == null)
//使用者許可權列表
tmpr = tmp.rightslist.find(f => f.id == r.id);
if (tmpr == null)
return o;
},spliton: "id");
return lookup.values.tolist();}}
Hibernate多對多查詢
乙個老師教許多學生,乙個學生被許多老師教,乙個學生有好多書,同一種書被許多同學擁有.要查詢教擁有書 a 的學生的老師 hql如何寫呀?如何取值?classteacher classstudent classbook hql語句 select t from teacher t join t.stude...
mybatis 多對多查詢
查詢使用者及使用者購買商品資訊。查詢主表是 使用者表 user 關聯表 由於使用者和商品沒有直接關聯,通過訂單和訂單明細進行關聯,所以關聯表是 orders orderdetail items select orders.order表的唯一標識 user表的唯一標識 user.username,us...
django model 多對多查詢
看一下自己的models檔案 class hostlist models.model ip models.ipaddressfield unique true,verbose name u ip位址 hostname models.charfield max length 30,verbose na...