Mybatis多对多查询

Posted lhc-hhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis多对多查询相关的知识,希望对你有一定的参考价值。

在shiro安全管理中,系统的后台管理员与管理员权限是多对多关系

实体类设计:Admin与Authority保留对方的一个集合引用

数据库中:中间表中两个外键指向两张表的主键

mapper文件的映射关系及其查询语句如下:

Mapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.baizhi.mapper.AdminMapper">
<resultMap type="Admin" id="au">
<id column="id" property="id"/>
<result column="name" property="name"/>
<collection property="authorityList" ofType="Authority">
<id property="id" column="auid" />
<result property="operate_right" column="operate_right" />
</collection>
</resultMap>
<select id="AdminAuthority" resultMap="au" parameterType="String">
select a.id,a.name,a.duty,aa.*,au.id auid,au.operate_right
from admin a,`admin_ authority` aa,authority au
where a.id=aa.admin_id
and au.id=aa.` authority_id` and a.name=#{name}
</select>
</mapper>


















以上是关于Mybatis多对多查询的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis注解开发之多对多查询

MyBatis整合Spring开发+MyBatis多对多关联查询

Mybatis多表查询(一对多,多对一,多对多)

Mybatis的多表(多对多)查询

Mybatis 多表实现多对多查询添加操作

MyBatis学习10高级映射之多对多查询