MyBatis注解配置SQL的实现,有哪些,请详细说明
时间: 2024-02-16 18:04:56 浏览: 52
MyBatis提供了多种方式来配置SQL语句,其中注解配置是其中一种。注解配置SQL的实现方式主要有以下几种:
1. @Select注解:用于配置查询语句,其参数为SQL语句。
示例:
```
@Select("SELECT * FROM user WHERE id = #{id}")
User getUserById(int id);
```
2. @Insert注解:用于配置插入语句,其参数为SQL语句。
示例:
```
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int addUser(User user);
```
3. @Update注解:用于配置更新语句,其参数为SQL语句。
示例:
```
@Update("UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}")
int updateUser(User user);
```
4. @Delete注解:用于配置删除语句,其参数为SQL语句。
示例:
```
@Delete("DELETE FROM user WHERE id=#{id}")
int deleteUser(int id);
```
5. @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属性用于开启驼峰命名转换。