mybatis里的inner join 语句如何写
时间: 2024-10-14 08:04:31 浏览: 14
在MyBatis中,内连接(INNER JOIN)通常用于查询两个或多个关联表的数据,其基本语法是将`JOIN`关键字与相应的表名、别名以及连接条件一起使用。以下是一个例子:
```xml
<select id="selectUsersAndDepartments" resultType="com.example.UserDepartment">
SELECT u.id, u.name, d.department_name
FROM user u
INNER JOIN department d ON u.department_id = d.id
</select>
```
在这个示例中,`UserDepartment`是自定义的复合结果映射,它包含了用户(`user`)和部门(`department`)的信息。`ON u.department_id = d.id`是连接条件,表示用户的部门ID与部门表中的ID相等。
如果你需要动态构建SQL,可以使用`<if>`标签添加条件:
```xml
<select id="dynamicJoin" parameterType="map" resultType="com.example.UserDepartment">
SELECT u.id, u.name, d.department_name
FROM user u
<if test="#isInnerJoin != null and #isInnerJoin">
INNER JOIN department d ON u.department_id = d.id
</if>
</select>
```
这里的`#isInnerJoin`是一个传入的参数,控制是否执行内连接。
阅读全文