MyBatis 注解形式的用法提供了一种在接口方法上直接定义 SQL 语句和参数映射的方式,使得数据库操作更加简洁和直观。下面是一些常见的 MyBatis 注解及其用法示例:
-
@Select:执行查询操作,用于查询单个结果或结果列表。
@Select("SELECT * FROM users WHERE id = #{id}") User getUserById(Long id);
-
@Insert:执行插入操作,用于插入数据。
@Insert("INSERT INTO users (id, name) VALUES (#{id}, #{name})") void insertUser(User user);
-
@Update:执行更新操作,用于更新数据。
@Update("UPDATE users SET name = #{name} WHERE id = #{id}") void updateUser(User user);
-
@Delete:执行删除操作,用于删除数据。
@Delete("DELETE FROM users WHERE id = #{id}") void deleteUser(Long id);
-
@Result:映射查询结果到实体类的字段或属性。
@Results({ @Result(property = "id", column = "user_id"), @Result(property = "name", column = "user_name") }) @Select("SELECT user_id, user_name FROM users") List<User> getUsers();
-
@Param:指定方法参数的名称,在 SQL 语句中引用参数。
@Select("SELECT * FROM users WHERE id = #{userId} AND name = #{userName}") User getUserByIdAndName(@Param("userId") Long id, @Param("userName") String name);
除了以上示例,MyBatis 还提供了其他注解和用法,例如动态 SQL 注解(@If
, @Choose
, @When
, @Otherwise
),批量操作注解(@InsertProvider
, @UpdateProvider
),以及参数映射注解(@Arg
, @TypeHandler
)等等。
在使用注解形式时,需要确保正确配置了 MyBatis 的注解扫描和相关的配置信息,以便正确地执行数据库操作。