MyBatis 的 mapper 接口调用时有哪些要求?
在 MyBatis 中调用 Mapper 接口时,有一些要求和约定:
-
方法命名与映射文件对应: Mapper 接口的方法名应该与映射文件中 SQL 的 id 对应,这样 MyBatis 才能正确找到对应的 SQL 语句执行。
-
方法参数与 SQL 参数对应: Mapper 接口的方法参数需要与 SQL 语句中的参数一一对应。如果参数较多,可以使用
@Param
注解给参数起别名,保证参数与 SQL 中的参数名对应。
User selectUserById(@Param("id") Long id);
-
返回类型与 SQL 查询结果对应: Mapper 接口的方法返回类型应与 SQL 查询结果对应。可以是实体类、Map、基本数据类型等,确保查询结果能够正确映射到返回类型。
-
映射配置正确: 在 XML 映射文件中正确配置了该 Mapper 接口对应的 SQL 语句,并且 ResultMap、ResultType 配置正确。
-
注解或 XML 方式配置: MyBatis 支持注解和 XML 两种方式配置映射关系,调用 Mapper 接口时需要确保采用的配置方式正确匹配。
-
SQLSessionFactory 和 MapperScannerConfigurer 配置正确: 在整合 Spring 的情况下,需要正确配置 SQLSessionFactory 和 MapperScannerConfigurer,确保能够扫描到 Mapper 接口并与对应的 XML 映射文件建立映射关系。
这些要求和约定能够帮助 MyBatis 正确识别和执行 Mapper 接口中定义的方法,并与对应的 SQL 映射文件进行正确匹配,确保数据库操作能够顺利执行。