MyBatis Plus支持XML 与注解两种映射方式?

Mybatis Plus支持XML和注解两种映射方式。

XML映射

和原生MyBatis一样,可以使用XML来定义SQL映射:

<select id="selectAll" resultType="com.itzhimei.pojo.User">
  select * from user
</select>

<insert id="insert">
  insert into user (...) values (#{user.id},#{user.name}) 
</insert>

<!-- ...其他操作 -->

然后在Mapper接口编写对应的方法签名:

List<User> selectAll();

int insert(User user);  

注解映射

也可以使用注解定义映射:

public interface UserMapper {

  @Select("select * from user")
  List<User> selectAll();

  @Insert("insert into user (...) values (#{id},#{name})")
  int insert(User user);

  // ...其他操作  
}

完全使用注解实现SQL映射。
两种方式可以混用:

public interface UserMapper {

  @Select("select * from user")
  List<User> selectAll();


  <select id="findUser" resultType="com.itzhimei.pojo.User">
    select * from user where id = #{id}
  </select>

}

在同一个接口中,部分使用注解,部分使用XML定义。

总的来说,Mybatis Plus支持:

  • 完全使用XML映射
  • 完全使用注解映射
  • XML和注解混合使用

可以根据实际场景,选择最适合的映射方式。