MyBatis提供了多种方式来配置SQL语句,其中注解配置是其中一种。注解配置SQL的实现方式主要有以下几种:
-
@Select注解:用于配置查询语句,其参数为SQL语句。示例:
@Select("SELECT * FROM user WHERE id = #{id}") User getUserById(int id); -
@Insert注解:用于配置插入语句,其参数为SQL语句。示例:
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})") int addUser(User user); -
@Update注解:用于配置更新语句,其参数为SQL语句。示例:
@Update("UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}") int updateUser(User user); -
@Delete注解:用于配置删除语句,其参数为SQL语句。示例:
@Delete("DELETE FROM user WHERE id=#{id}") int deleteUser(int id); -
@Result注解:用于配置结果映射,其参数为属性名和列名的对应关系。示例:
@Results({ @Result(property = "id", column = "id"), @Result(property = "name", column = "name"), @Result(property = "age", column = "age") }) @Select("SELECT \* FROM user WHERE id = #{id}") User getUserById(int id);
以上就是MyBatis注解配置SQL的实现方式。需要注意的是,使用注解配置SQL语句时,需要在配置文件中开启注解扫描。例如,在mybatis-config.xml配置文件中添加以下内容:
<configuration>
<mappers>
<mapper class="com.example.UserMapper" />
</mappers>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>
其中,mapper标签的class属性指定了使用注解配置SQL的Mapper接口。同时,settings标签中的mapUnderscoreToCamelCase属性用于开启驼峰命名转换。