我是靠谱客的博主 勤奋背包,最近开发中收集的这篇文章主要介绍Java: MyBatis查询一个List的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在MyBatis查询中,大多数的时候需要查询的是单个的字段,但也有一对多关系的查询,比如一个教师有多个学生,Teacher类就有List,这个在MyBatis里面怎么查呢?

	<select id="getTeacherInfo" resultMap="TeacherMap">
        SELECT DISTINCT
            teacher_id, teacher_name, students
        FROM
            teacher
    </select>

    <resultMap id="TeacherMap" type="pri.liyang.model.Teacher">
	    <id property="teacher_id" column="teacher_id"></id>
        <collection property="students" column="teacher_id"
                    ofType="String" javaType="java.util.List" select="getStudentByTeacherId">
        </collection>
    </resultMap>

    <select id="getStudentByTeacherId" parameterType="java.lang.Integer" resultType="String">
        SELECT student_name FROM student WHERE teacher_id = #{teacher_id}
    </select>

其中resultMap中,id就是resultMap中的id,写在最上面的select,type就是老师的实体类,id标签,代表teacher_id就是该表的id,且对应字段teacher_id。collection中property就是老师实体类中List学生的属性名,column就是老师的id,用这个来查学生们。ofType就是查出的是字符串,就是学生名。JavaType就是查出来装集合。select就是用什么SQL语句来查。

然后最下面的select就是用老师id来查学生们了。中间写SQL语句,写上教师id,就是上面的column,然后parameterType就是参数类型,resultType就是返回类型。这里有坑,容易写成java.util.List,这个是错的,要写String。

最后

以上就是勤奋背包为你收集整理的Java: MyBatis查询一个List的方法的全部内容,希望文章能够帮你解决Java: MyBatis查询一个List的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部