MyBatis 的 Mapper 编写方式主要有三种:
1. XML 文件方式
通过 XML 文件编写 Mapper,将 SQL 语句和 Java 方法进行映射。XML 文件中定义了 SQL 语句和参数映射关系。
示例:
<!-- UserMapper.xml -->
<mapper namespace="com.example.UserMapper">
<select id="getUserById" resultType="com.example.User">
SELECT * FROM users WHERE id = #{id}
</select>
</mapper>
2. 注解方式
在 Java 接口方法上使用注解来映射 SQL 语句,通过注解直接指定 SQL 语句和参数映射。
示例:
// UserMapper.java
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(int id);
}
3. Mix(混合)方式
混合使用 XML 文件和注解的方式编写 Mapper。通常是将一些复杂的 SQL 语句或动态 SQL 写在 XML 文件中,简单的查询可以使用注解方式。
示例:
// UserMapper.java
@Mapper
public interface UserMapper {
User getUserById(int id); // 使用注解方式
// 使用 XML 文件
List<User> searchUsers(@Param("name") String name, @Param("age") int age);
}
这三种方式各有优劣,XML 方式适合复杂的 SQL 语句和参数映射;注解方式简洁直观,适合简单的查询;Mix 方式则可以根据需要灵活选择使用哪种方式。
Was this helpful?
0 / 0