在 MyBatis 中,可以使用注解来简化配置。以下是一些常用的注解及其用法:
@Mapper:将接口标记为 MyBatis 的映射器。这样,MyBatis 会自动扫描并将接口实现为一个代理对象。你可以在 Spring Boot 中使用 @MapperScan 注解来扫描所有的映射器接口。@Mapper
public interface UserMapper {
// ...
}
@Select:用于定义查询操作。在方法上添加 @Select 注解,并在注解中提供 SQL 查询语句。@Mapper
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(int id);
}
@Insert:用于定义插入操作。在方法上添加 @Insert 注解,并在注解中提供 SQL 插入语句。@Mapper
public interface UserMapper {
@Insert("INSERT INTO users (name, age) VALUES (#{name}, #{age})")
int insertUser(User user);
}
@Update:用于定义更新操作。在方法上添加 @Update 注解,并在注解中提供 SQL 更新语句。@Mapper
public interface UserMapper {
@Update("UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}")
int updateUser(User user);
}
@Delete:用于定义删除操作。在方法上添加 @Delete 注解,并在注解中提供 SQL 删除语句。@Mapper
public interface UserMapper {
@Delete("DELETE FROM users WHERE id = #{id}")
int deleteUser(int id);
}
@Results 和 @Result:用于定义结果映射。当查询结果的列名与实体类的属性名不一致时,可以使用这些注解来进行映射。@Mapper
public interface UserMapper {
@Select("SELECT id, name, age FROM users WHERE id = #{id}")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "name", column = "name"),
@Result(property = "age", column = "age")
})
User getUserById(int id);
}
通过使用这些注解,你可以减少 XML 配置文件的数量,使代码更加简洁。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。