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

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

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

mybatis常用注解
(图片来源网络,侵删)

1、@Select

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

示例

“`java

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

mybatis常用注解
(图片来源网络,侵删)

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

“`

2、@Insert

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

示例

mybatis常用注解
(图片来源网络,侵删)

“`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.kdun.com/ask/779983.html

(0)
未希的头像未希新媒体运营
上一篇 2024-07-17 13:30
下一篇 2024-07-17 13:34

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入