Mybatis-Plus 常用注解总结

发布时间:2024年01月18日

一、Mybatis-Plus 简介

Mybatis-Plus 是一款 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus 适用于 Mybatis 的大部分场景,不需要对 Mybatis 有深入的了解即可使用。

二、Mybatis-Plus 常用注解

  1. @TableName
    用于定义映射的表名。
@TableName("user")
public class User {
    // ...
}
  1. @TableId
    用于定义主键属性。
@TableName("user")
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    // ...
}
  1. @TableField
    用于定义非主键字段。
@TableName("user")
public class User {
    // ...
    @TableField("name")
    private String name;
    // ...
}
  1. @TableLogic
    用于定义逻辑删除属性。
@TableName("user")
public class User {
    // ...
    @TableLogic
    private Integer deleted;
    // ...
}
  1. @Version
    用于定义乐观锁属性。
@TableName("user")
public class User {
    // ...
    @Version
    private Integer version;
    // ...
}
  1. @EnumValue
    用于定义枚举属性。
public enum Gender {
    MALE(1, "男"),
    FEMALE(2, "女");
    @EnumValue
    private Integer value;
    // ...
}
  1. @KeySequence
    用于定义 Oracle 序列。
@TableName("user")
public class User {
    @KeySequence("SEQ_USER")
    private Long id;
    // ...
}
  1. @Mapper
    用于标识 Mybatis-Plus 的 Mapper 接口。
@Mapper
public interface UserMapper extends BaseMapper<User> {
    // ...
}
  1. @Insert
    用于定义插入数据的 SQL 语句。
@Mapper
public interface UserMapper extends BaseMapper<User> {
    @Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age})")
    int insertUser(User user);
    // ...
}
  1. @Update
    用于定义更新数据的 SQL 语句。
@Mapper
public interface UserMapper extends BaseMapper<User> {
    @Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
    int updateUser(User user);
    // ...
}
  1. @Delete
    用于定义删除数据的 SQL 语句。
@Mapper
public interface UserMapper extends BaseMapper<User> {
    @Delete("DELETE FROM user WHERE id = #{id}")
    int deleteUser(Long id);
    // ...
}
  1. @Select
    用于定义查询数据的 SQL 语句。
@Mapper
public interface UserMapper extends BaseMapper<User> {
    @Select("SELECT * FROM user WHERE id = #{id}")
    User selectUserById(Long id);
    // ...
}

三、Mybatis-Plus 注解的使用

  1. 创建实体类
@TableName("user")
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableField("name")
    private String name;
    @TableField("age")
    private Integer age;
    @TableLogic
    private Integer deleted;
    @Version
    private Integer version;
    // ...
}
  1. 创建 Mapper 接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
    // ...
}
  1. 使用 Mapper 接口
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public void addUser(User user) {
        userMapper.insert(user);
    }
    public void deleteUser(Long id) {
        userMapper.deleteById(id);
    }
    public void updateUser(User user) {
        userMapper.updateById(user);
    }
    public User getUser(Long id) {
        return userMapper.selectById(id);
    }
    // ...
}

四、总结

通过本教程,我们了解了 Mybatis-Plus 的常用注解及其使用方法。Mybatis-Plus 通过这些注解,提供了丰富的功能和便捷的操作,能够帮助开发者简化代码,提高开发效率。在实际开发中,我们可以充分利用 Mybatis-Plus 提供的功能,让数据库操作变得更加简单和高效。

文章来源:https://blog.csdn.net/weixin_44087733/article/details/135666545
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。