前言
MyBatis注解是一种用于配置MyBatis映射关系和SQL操作的方式,通过在Java接口或方法上使用注解来代替XML配置,使得配置更加简洁明了。在MyBatis中,可以使用以下几个主要的注解来定义映射关系和SQL操作。
1、@Select:用于定义SELECT查询操作。
2、@Insert:用于定义INSERT插入操作。
3、@Update:用于定义UPDATE更新操作。
4、@Delete:用于定义DELETE删除操作。
5、@Options:用于定义一些选项,例如获取自动生成的主键。
6、@Param:用于给SQL语句中的参数取别名,方便在注解中引用。
MyBatis注解代码示例
1. 定义Mapper接口
代码语言:javascript复制public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(@Param("id") int id);
@Insert("INSERT INTO users (name, email) VALUES (#{name}, #{email})")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
void insertUser(User user);
@Update("UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}")
void updateUser(User user);
@Delete("DELETE FROM users WHERE id = #{id}")
void deleteUser(@Param("id") int id);
}
2. 配置Mapper接口扫描
代码语言:javascript复制<!-- mybatis-config.xml -->
<configuration>
<mappers>
<package name="com.example.mapper"/>
<!-- 可以添加其他包路径 -->
</mappers>
</configuration>
在上面的例子中,我们定义了一个UserMapper接口,使用注解来代替XML配置。@Select注解用于定义查询操作,@Insert用于定义插入操作,@Update用于定义更新操作,@Delete用于定义删除操作。@Options注解用于配置选项,这里用于获取自动生成的主键。@Param注解用于给SQL语句中的参数取别名,以解决参数名冲突的问题。