这种mapper里自己写的sql,我以为mybatis-plus不会侵入了,谁知还是被侵入了,运行时自动给我添加了个条件
@Mapper
public interface MyMapper extends BaseMapperX<AdminUserDO> {
@Select({"select * from system_users where 1=1 and deleted = 0 and username = #{username} limit 1"})
List<AdminUserDO> getUser(@Param("username") String username);
}
请问大佬们,mybatis-pluse 下 怎么做自己的sql才不会被侵入
MyBatis-Plus通常不会侵入自定义SQL语句,但在某些情况下,可能会进行一些自动化的处理。如果你希望完全掌控自己的SQL语句,可以尝试以下方法:
使用@SelectProvider注解:
你可以使用@SelectProvider注解来指定自己的SQL提供器类,以便完全自定义SQL语句。首先,创建一个SQL提供器类,然后在提供器类中构建你的SQL语句。然后在Mapper接口方法上使用@SelectProvider注解引用提供器类。这样可以避免MyBatis-Plus对SQL的干预。
创建SQL提供器类:
在Mapper接口中使用@SelectProvider注解: