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

secoler 2016-04-19 03:45:12
背景:
查询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方法为什么没有运行。
...全文
201 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧