mybatis多表联查使用join on的sql语句
时间: 2023-10-29 08:21:11 浏览: 74
在MyBatis中,使用join on进行多表联查的SQL语句可以通过在xml文件中定义一个sql标签来实现。首先,我们将所有要查询的列定义在该sql标签中,如下所示:
<sql id="sql_join">
tb_student.stu_id, tb_student.stu_name, tb_student.stu_age, tb_class.c_id, tb_class.c_name
</sql>
在需要执行多表联查的select语句中,可以通过使用<include>标签来引用前面定义的sql标签,然后在from子句中使用join on进行表的连接操作,如下所示:
<select id="find_all" resultMap="stuMap">
SELECT
<include refid="sql_join"/>
FROM
tb_student
JOIN
tb_class
ON
tb_student.class_id = tb_class.c_id
WHERE
tb_student.stu_id = #{id};
</select>
在这个例子中,我们通过<include>标签引用了之前定义的sql标签,并在SELECT语句中使用了join on来进行多表联查,将tb_student表和tb_class表按照tb_student.class_id和tb_class.c_id进行连接。同时,我们也指定了一个查询条件,即tb_student.stu_id等于给定的参数id。这样就可以实现多表联查的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Java-MyBatis框架-3(动态sql语句,多表联查)](https://blog.csdn.net/Have_MonkeyG/article/details/125132420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文