MyBatis 接口绑定有哪几种方式?

MyBatis 提供了三种接口绑定方式,分别是:

  1. XML 映射文件方式:这是最常见的方式,我们需要为每个 mapper 接口创建一个对应的 XML 映射文件,然后在 XML 文件中定义 SQL 语句和结果映射。

  2. 注解方式:MyBatis 提供了一些注解,如 @Select@Insert@Update@Delete,我们可以直接在接口方法上使用这些注解,并在注解中编写 SQL 语句,这样就不需要 XML 映射文件了。

  3. 混合方式:在实际的项目中,我们一般会使用混合方式,即部分复杂的 SQL 语句使用 XML 映射文件方式,部分简单的 SQL 语句使用注解方式。

下面是这三种方式的示例:

XML 映射文件方式:

<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="selectUser" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
</mapper>
// UserMapper.java
public interface UserMapper {
    User selectUser(int id);
}

注解方式:

// UserMapper.java
public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = #{id}")
    User selectUser(int id);
}

混合方式:

<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
    <select id="selectUserByCondition" resultType="com.example.model.User">
        SELECT * FROM user WHERE name = #{name} AND age = #{age}
    </select>
</mapper>
// UserMapper.java
public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = #{id}")
    User selectUser(int id);

    User selectUserByCondition(String name, int age);
}

以上就是 MyBatis 中的三种接口绑定方式,根据你的实际需求选择适合的方式即可。

发表评论

后才能评论