MyBatis中有哪些常用的注解及其作用是什么?

Mybatis常用注解主要包括:@Insert、@Update、@Delete、@Select,分别用于插入、更新、删除和查询操作。还有@Result、@Results用于定义查询结果的映射规则,@Param用于给SQL语句中的参数起别名等。

MyBatis中的常用注解是简化配置和映射过程的有力工具,旨在减少XML配置的使用,使代码更加简洁和易于管理,下面将详细介绍这些常用注解:

MyBatis中有哪些常用的注解及其作用是什么?插图1

1、@Select

作用:标记查询语句,该注解用于接口方法上,以指定SQL查询语句。

示例

“`java

@Select("SELECT * FROM users WHERE id = #{id}")

MyBatis中有哪些常用的注解及其作用是什么?插图3

User getUserById(@Param("id") Long id);

“`

2、@Insert

作用:标记插入语句,用于接口方法上,指定要执行的SQL插入语句。

示例

MyBatis中有哪些常用的注解及其作用是什么?插图5

“`java

@Insert("INSERT INTO users(name, age) VALUES(#{name}, #{age})")

int addUser(User user);

“`

3、@Update

作用:标记更新语句,此注解用于接口方法,用以指定SQL更新语句。

示例

“`java

@Update("UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}")

int updateUser(User user);

“`

4、@Delete

作用:标记删除语句,此注解用于接口方法,定义了SQL删除语句。

示例

“`java

@Delete("DELETE FROM users WHERE id = #{id}")

int deleteUserById(@Param("id") Long id);

“`

5、@Results

作用:用于指定多个@Result注解,通常与@Select注解一起使用来映射结果集。

示例

“`java

@Select("SELECT * FROM users WHERE id = #{id}")

@Results(id = "userResultMap", value = {

@Result(property = "id", column = "id"),

@Result(property = "name", column = "name"),

@Result(property = "age", column = "age")})

User getUserById(@Param("id") Long id);

“`

6、@Result

作用:用于指定查询结果集的映射关系,通常与@Results一起使用。

示例

“`java

@Result(property = "id", column = "id"),

@Result(property = "name", column = "name"),

@Result(property = "age", column = "age")

“`

7、@ResultMap

作用:用于指定查询结果集的映射关系,可以引用@Results定义的封装。

8、@Mapper

作用:用于标注数据访问接口,以便框架识别并生成实现代理。

示例

“`java

@Mapper

public interface UserMapper {

User selectById(Integer id);

}

“`

9、@MapperScan

作用:用于自动扫描并注册Mapper接口。

示例

“`java

@SpringBootApplication

@MapperScan("com.tian.mybatis.mapper")

public class Application {

}

“`

10、@Options

作用:提供了对插入操作中主键生成策略的设置。

示例

“`java

@Options(useGeneratedKeys = true, keyProperty = "id")

@Insert("INSERT INTO t_user (username, passwd) VALUES (#{username}, #{passwd})")

int addUserGeneratedKey(User user);

“`

11、@SelectProvider

作用:允许动态生成SQL语句。

12、@CacheNamespace

作用:用于开启二级缓存支持。

除了上述常用注解外,MyBatis还支持其他注解如@One@Many等,用于处理复杂关系映射,在实际应用中,根据需要选择适合的注解来简化开发流程是很有益的。

MyBatis的注解提供了一种便捷的方式来进行数据库操作的配置和映射,使得项目结构更为简洁,代码更加清晰,在使用注解时,建议结合实际项目需求和团队的开发习惯,选择最佳的实践方式。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/23726.html

沫沫沫沫
上一篇 2024年7月17日 14:00
下一篇 2024年7月17日 14:30

相关推荐