springboot - 这奇怪的自动拼接sql?
问题描述:
这是一段钉钉登录的代码,获取到当前用户的手机号后,然后按手机号去用户表去查
控制台的信息是这样
他为何无缘无故给我拼接了个 AND id = 226,正常的登录是不会拼接这个的
当前用户在用户表里id也不是226
这个错误是偶发性错误,我换了个钉钉这个用户又正常。。。
求教可能什么原因?
补充-------------------
追踪了userService.getUserByUsername(mobile)的代码最终到了:
default AdminUserDO selectByUsername(String username) { return selectOne(new LambdaQueryWrapper<AdminUserDO>().eq(AdminUserDO::getUsername, username)); }
问题貌似归结于:mybatis-plus自动拼接了非wrapper条件,有个类似的,但检查了又不是
@TableName(value = "system_users", autoResultMap = true) @KeySequence("system_user_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class AdminUserDO extends TenantBaseDO { /** * 用户ID */ @TableId private Long id; /** * 用户账号 */ private String username; ....
第 1 个答案:
这种东西,就是底层的逻辑了,是不是存在mybatis的插件
vue.js - Vue2源码resolveConstructorOptions函数?:在resolveConstructorOptions函数里,会比较superOptions和cachedSuperOptions是否相等,通过Vue.e ...