Mybatis相信大家一定都知道吧,这是目前最风骚的数据库交互软件之一,那问题来了,小伙伴们知道mybatis一对多关联查询要怎么实现吗?它一般又有哪些方式实现呢?下面就由小编为你说道说道。
例:实现学生表与班级表的关联查询,在学生管理信息中一定要有所在班级的名称。
一、将对应学生表的pojo类编写为全班级表中的字段,这种方法一般适用于连接表字段较少状态。
这里我们的SQL语句直接在mapper接口里编写即可
二、resultmap手动关联映射
在student中pojo类编写一个Clazz类型的字段,用来封装班级信息
然后使用xml方式编写sql语句,记住,在编写sql语句前我们一定要在配置文件里声明xml的路径,以及为了方便,要为pojo类起一个别名。
<resultMap id="smap" type="student"> <id property="id" column="sid"/> <result property="name" column="name"/> <result property="phone" column="phone"/> <association property="clazz" javaType="clazz"> <id property="id" column="cid"/> <result property="title" column="title"/> </association> </resultMap> < select id = "selectAll" resultMap = "smap" > select s.id sid, s.name, s.phone, c.id cid, c.title title from student s left join clazz c on s.clazz_id = c.id < /select>
注:
associattion 属性表示关系,代表一个学生对象中包含有另一个班级对象
javaType 属性表示当前对象
三、使用resultType自动映射配合别名
注明:在别名中会包含特殊符号,所以我们需要加上引号
结果:
这些就是关于mybatis一对多关联查询的所有内容了,小伙伴们如果有需要了解更多mybatis常见问题,就请关注我们网站来了解更多吧。
推荐阅读: