在MyBatis中避免extends引起的沖突,可以使用命名空間(namespace)來區分不同的映射器(mapper)。
在MyBatis中,每個映射器都有一個唯一的命名空間,可以在映射器接口或映射器配置文件中指定命名空間。通過為每個映射器指定不同的命名空間,可以避免extends引起的沖突。
例如,假設有兩個映射器UserMapper和OrderMapper,可以在它們的接口或配置文件中指定不同的命名空間:
UserMapper接口:
@Mapper
public interface UserMapper {
//...
}
UserMapper配置文件:
<mapper namespace="com.example.mapper.UserMapper">
<!-- SQL語句 -->
</mapper>
OrderMapper接口:
@Mapper
public interface OrderMapper {
//...
}
OrderMapper配置文件:
<mapper namespace="com.example.mapper.OrderMapper">
<!-- SQL語句 -->
</mapper>
通過為每個映射器指定不同的命名空間,可以避免extends引起的沖突,確保每個映射器的SQL語句都能正確地被解析和執行。