使用 MyBatis-Plus 用户登录异常

数据库有对应的用户但是查询 DB 却无法正常查询出来

1、首先排查逻辑删除

2、其次通过 MyBatis-Plus 输出执行 SQL 然后在 console 执行看是否有数据

3、注册是否使用注册接口进行注册,因为存储到 DB 里面的都是加密后的用户密码

image.png

排查是否逻辑删除

1、首先确保逻辑删除相关的配置

yml
复制代码
mybatis-plus: global-config: db-config: logic-delete-field: isDelete # 全局逻辑删除的实体字段名 logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

2、对应的字段是否有 @TableLogic

java
复制代码
/** * 是否删除 */ @TableLogic private Integer isDelete;

3、查看数据库里面的数据 isDelete 字段是否有数据 和 是否是 0 (配置文件的 logic-not-delete-value

image-20250322095802663

输出日志执行 SQL

1、添加 MyBatis-Plus 日志

yml
复制代码
mybatis-plus: configuration: # 仅在开发环境打印日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

2、日志

text
复制代码
Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@8824ddb] was not registered for synchronization because synchronization is not active JDBC Connection [HikariProxyConnection@213764115 wrapping com.mysql.cj.jdbc.ConnectionImpl@2d160394] will not be managed by Spring ==> Preparing: SELECT id,username,userAccount,avatarUrl,gender,userPassword,phone,email,userStatus,createTime,updateTime,isDelete,userRole,planetCode FROM user WHERE isDelete=0 AND (userAccount = ? AND userPassword = ?) ==> Parameters: leikooo(String), 7a364d20730ddeeea1a78b6b6c680c72(String) <== Total: 0 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@8824ddb]
image-20250322101509441

3、把执行的 SQL 在 DB 的

把对应的 ? 替换成 parameters 的参数

java
复制代码
SELECT id,username,userAccount,avatarUrl,gender,userPassword,phone,email,userStatus,createTime,updateTime,isDelete,userRole,planetCode FROM user WHERE isDelete=0 AND (userAccount = ? AND userPassword = ?)
image-20250322102653633

最终效果

text
复制代码
SELECT id,username,userAccount,avatarUrl,gender,userPassword,phone,email,userStatus,createTime,updateTime,isDelete,userRole,planetCode FROM user WHERE isDelete=0 AND (userAccount = 'leikooo' AND userPassword = '7a364d20730ddeeea1a78b6b6c680c72')

4、执行 SQL

image-20250322103128346

执行 SQL

image-20250322103337351

查看 DB 数据

1、首先确认一下是否是用户名或者密码错误为了确保不是这个问题,重新注册一个账号 然后尝试登录一下

2、如果还是不行,就检查一下 逻辑删除

3、还是不行??应该有点离谱了,如果有报错信息就分析一下其他报错信息

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
leikooo
下载 APP