双while循环里,mybatis的selectOne查询数据库不起作用

secoler secoler 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
背景:
查询X表中某字段status的值,该值可取范围为 0,1,4,5。
0表示准备执行,1表示执行成功,4表示正在执行, 5表示执行失败。

首先进入第1个while循环更新该值为0,然后status的值开始变化,若该值为0或者4则进入第2个while循环一直取
status值,若status的值为1或者5跳出第2个while循环。
代码如下:
String status = null ;
int i = 1;
while(!"1".equalsIgnoreCase(status)) {
System.out.println("开始第" + i + "次更新");
i++;
session.update(statement2, regsno);
session.commit();
status = session.selectOne(statement1, regsno);
System.out.println("初始化status: " + status);
while("0".equalsIgnoreCase(status) || "4".equalsIgnoreCase(status)) {
status = session.selectOne(statement1, regsno);
System.out.println("status的值: " + status);
}
}
采用log4j输出mybatis的sql语句。
Debug时,当程序进入第2个while循环之后,单步执行,控制台输出
初始化status: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0
status的值: 0

问题:第2个while循环中mybatis的selectOne方法为什么没有运行。
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
secoler
Java 51,407 成员 86,129 内容