用递归解决连续更换信息找到最新信息的问题
来源:互联网 发布:nginx修改403页面 编辑:程序博客网 时间:2024/04/29 20:15
工作中遇到连续更换电话或者账户的问题,需要通过其中任意一个来找到最后一次更新结果。
因为是连续更新,在旧信息和新信息字段内都有记录,所以,用了递归来解决这个问题。最近比较喜欢用递归,感觉比循环用起来漂亮。
/** * @param * 动态查询,如果介质变更,根据旧的介质号,查询新介质号;如果电话变更,则根据旧电话查询新电话 * oldinfo:原有信息,newCol:新信息字段;checkSql:检查的sql
* */private String infoChange(String oldInfo,String newCol,String checkSql ){//用newList接收通过旧信息查询出来的新信息List<Map<String, Object>> newList = JdbcSupportDAO.getJdbcTemplate().queryForList(checkSql);if(newList.size()>0){String newInfo = "";try {//只有一条返回结果时,获取新的信息newInfo = (String) newList.get(0).get(newCol);} catch (Exception e) {logger.error("信息更换查询有误,请核对信息为:"+oldInfo+"的更换记录。");}finally{//递归调用该方法,将查询到的新信息返回return infoChange(newInfo,newCol,checkSql);}}else{return oldInfo;}}
SQL作为参数传入,调用时候增强了灵活性。简化一下大概是这个样子(伪代码)。
private String getLastInfo(String oldInfo){//通过旧信息查询新信息的方法Strng newInfo = getNewInfo(oldInfo);if(oldInfo!=newInfo){return getLastInfo(newInfo);}}else{return newInfo;}}
1 0
- 用递归解决连续更换信息找到最新信息的问题
- 递归方法解决最大连续子数列问题
- 解决了android usb driver无法找到硬件信息的问题
- dtrace4linux的最新信息
- Ubuntu的最新信息
- 解决VC2005出现“无法找到调试信息”问题
- 最新信息
- 没有找到msvcr80.dll问题的解决
- 找到解决笔记本找不到无线网络的问题!!!!
- 解决afxcontrolbars.h 无法找到的问题
- 以前找到并解决的问题
- latex:解决无法找到.sty的问题
- 解决“tensorboard:未找到命令”的问题
- Tensorboard命令未找到问题的解决
- 解决XML本地无法找到的问题
- 解决auto_increment 编号不连续的问题
- 解决auto_increment 编号不连续的问题
- 用递归解决汉诺塔问题
- Java SE_day12_多线程(一)
- windows 64位QT
- 14.BOM&DOM-BOM和DOM的概述
- nginx静态服务器的配置
- 第七章 上机4
- 用递归解决连续更换信息找到最新信息的问题
- SQL 中ROLLUP、CUBE的用法和区别
- memcache的用法
- 【C++算法】反转单链表
- 51Nod-1376-最长递增子序列的数量
- mysql分库分表资料总结
- 如何在mybatis中一个insert,delete,update中执行多条SQL语句
- ubuntu 安装Pangolin 过程
- Angular 2.0 中实现搜索框