dapper 多對多查詢物件和物件列表

2022-02-23 07:07:54 字數 2094 閱讀 1997

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...