import org.apache.ibatis.annotations.*;
    
    @Mapper
    public interface UserMapper {
    
        @Select("SELECT * FROM users WHERE id = #{id}")
        User getUserById(Long id);
    
        @Insert("INSERT INTO users(username, password) VALUES (#{username}, #{password})")
        @Options(useGeneratedKeys = true, keyProperty = "id")
        void insertUser(User user);
    
        @Update("UPDATE users SET username = #{username}, password = #{password} WHERE id = #{id}")
        void updateUser(User user);
    
        @Delete("DELETE FROM users WHERE id = #{id}")
        void deleteUser(Long id);
    }

MyBatis中的Mapper接口使用了注解方式来定义SQL,方便快速开发,上面的示例代码展示了一个UserMapper接口的定义。@Mapper注解表示这是一个MyBatis的Mapper接口,在对应的XML文件中配置了相应的SQL语句。

该接口中定义了对User实体类进行数据库操作的几个方法,比如通过id查询用户、插入用户、更新用户和删除用户。@Select、@Insert、@Update、@Delete注解分别表示该方法对应的SQL操作是查询、插入、更新和删除。通过#{参数名}来引用参数,用@Options注解来指定自动生成的主键。

使用MyBatis的注解方式,可以更加灵活地进行数据库操作,简化了XML配置文件的编写。通过定义一个Mapper接口,可以方便地进行增删改查操作。结合上述示例代码,开发人员可以根据具体需求定制自己的Mapper接口,实现与数据库的交互。