MyBatis中常用的注解有以下几种:
1. `@Mapper`:用于标注Mapper接口,表示该接口是一个MyBatis的Mapper接口,需要被MyBatis框架扫描并注册。
2. `@Select`:用于标注查询操作的方法,表示该方法执行的是一个查询语句。
3. `@Insert`:用于标注插入操作的方法,表示该方法执行的是一个插入语句。
4. `@Update`:用于标注更新操作的方法,表示该方法执行的是一个更新语句。
5. `@Delete`:用于标注删除操作的方法,表示该方法执行的是一个删除语句。
6. `@Param`:用于为传入方法的参数指定参数名,使得在SQL语句中可以使用该参数名进行引用。
7. `@Result`:用于指定返回结果集与Java对象的映射关系。可以通过`@Result`注解的`column`属性指定数据库列名与Java对象属性名的对应关系。
8. `@Results`:用于指定多个`@Result`注解的组合,用于复杂的结果集映射。
9. `@ResultMap`:用于引用已定义的`<resultMap>`标签,实现结果集的复用。
10. `@Options`:用于指定一些特定的选项,比如`@Options(useGeneratedKeys = true)`用于获取自动生成的主键。
11. `@Transactional`:用于标注事务方法,表示该方法需要在事务中执行。
这些注解可以简化Mapper接口的编写,将SQL语句和方法直接绑定在一起,并且提供了更灵活的结果集映射、参数传递等功能。通过使用这些注解,可以避免繁琐的XML配置,使得代码更加简洁和易读。根据具体的需求,可以选择注解方式或XML方式进行MyBatis的编写。