MyBatis常用注解有哪些?

MyBatis框架提供了一系列注解,用于简化XML映射文件的使用。以下是一些常用的MyBatis注解:

  1. @Select:这个注解用于指定用来从数据库中查询数据的SQL语句。

    ““java
    @Select(“SELECT * FROM users WHERE id = #{id}”)
    User selectUser(int id);

    “`
    </p></li>
    <li><p><strong>@Insert</strong>:这个注解指定了用来向数据库插入数据的SQL语句。

    ““java
    @Insert(“INSERT INTO users(name, age) VALUES(#{name}, #{age})”)
    void insertUser(User user);

    “`
    </p></li>
    <li><p><strong>@Update</strong>:这个注解指定了用来修改数据库中数据的SQL语句。

    ““java
    @Update(“UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}”)
    void updateUser(User user);

    “`
    </p></li>
    <li><p><strong>@Delete</strong>:这个注解指定了用来从数据库中删除数据的SQL语句。

    ““java
    @Delete(“DELETE FROM users WHERE id = #{id}”)
    void deleteUser(int id);

    “`
    </p></li>
    <li><p><strong>@Results</strong> 和 <strong>@Result</strong>:这两个注解用于映射数据库表中的列到对象的属性。

    ““java
    @Results({
    @Result(property = “id”, column = “id”),
    @Result(property = “name”, column = “name”),
    @Result(property = “age”, column = “age”)
    })
    @Select(“SELECT * FROM users”)
    List selectAllUsers();

    “`
    </p></li>
    <li><p><strong>@Param</strong>:这个注解用于给方法参数命名,参数名就能直接在SQL语句中使用。

    ““java
    @Select(“SELECT * FROM users WHERE name = #{name}”)
    User selectUserByName(@Param(“name”) String name);

    “`
    </p></li>
    <li><p><strong>@Mapper</strong>:这个注解用于标记接口为一个MyBatis的mapper接口,MyBatis会自动扫描标记了@Mapper的接口并生成实现。

    ““java
    @Mapper
    public interface UserMapper {
    // …
    }

    “`

  2. @Options:这个注解用于设置一些MyBatis的特性,比如是否使用缓存,是否自动获取生成的数据库键等。

  3. @ResultMap:这个注解引用定义在Mapper XML文件中的一个ResultMap。

  4. @SelectProvider@InsertProvider@UpdateProvider@DeleteProvider:这些注解用来动态构建SQL语句。

这些注解提供了一种更简洁的方法来写SQL语句,无需在XML文件中书写大量的映射代码。但请注意,注解的方式可能不适合处理复杂的SQL语句和动态SQL语句。对于这些情况,你可能需要使用XML映射文件。

发表评论

后才能评论