MyBatis 接口绑定有哪几种方式?
MyBatis 提供了三种接口绑定方式,分别是:
- XML 映射文件方式:这是最常见的方式,我们需要为每个 mapper 接口创建一个对应的 XML 映射文件,然后在 XML 文件中定义 SQL 语句和结果映射。
-
注解方式:MyBatis 提供了一些注解,如
@Select
、@Insert
、@Update
、@Delete
,我们可以直接在接口方法上使用这些注解,并在注解中编写 SQL 语句,这样就不需要 XML 映射文件了。 -
混合方式:在实际的项目中,我们一般会使用混合方式,即部分复杂的 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 中的三种接口绑定方式,根据你的实际需求选择适合的方式即可。