Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证Java中调用的Ibatis过程_Java_Ibatis_Legacy Code - Fatal编程技术网

验证Java中调用的Ibatis过程

验证Java中调用的Ibatis过程,java,ibatis,legacy-code,Java,Ibatis,Legacy Code,我正在研究遗留代码,在它的ibatis映射文件中有许多已失效的数据库调用。我希望将ibatis映射连接回java类文件——或者更准确地说,找到哪些映射不会被java调用 其目的是从映射文件中删除调用,并从数据库中删除过程 现在,除了解析映射文件,提取每个过程的java id,然后在java类文件中搜索它可能被调用的位置,我看不到其他方法 以前有人这样做过吗?或者有人能找到更好的方法来解决这个问题吗?您可以执行以下操作: 编写一个小型java程序: 搜索所有iBatis配置文件 获取所有ID并将其

我正在研究遗留代码,在它的ibatis映射文件中有许多已失效的数据库调用。我希望将ibatis映射连接回java类文件——或者更准确地说,找到哪些映射不会被java调用

其目的是从映射文件中删除调用,并从数据库中删除过程

现在,除了解析映射文件,提取每个过程的java id,然后在java类文件中搜索它可能被调用的位置,我看不到其他方法


以前有人这样做过吗?或者有人能找到更好的方法来解决这个问题吗?

您可以执行以下操作:

编写一个小型java程序:

  • 搜索所有
    iBatis
    配置文件
  • 获取所有ID并将其持久化到文件(或集合)中
  • 搜索持久性级别(以持久性级别包名称开头)中的所有.java文件
  • 每当它发现在任何持久性类中使用的id时,就会将其删除(从集合/文件中)
  • 最后,它将打印(到一个文件中)所有未找到的ID和 它们的配置文件名

  • 编写这样的程序非常简单,最多只需15分钟,可以节省几天时间。

    解析映射文件是什么意思?你的意思是你打开它,然后通过复制粘贴到文本文件中,然后在eclipse的工作区中通过Ctrl+H逐个搜索来获取所有ID?我打算自动化这个过程,以便在将来的版本后可以重新运行它。所以我会有一个脚本来读取映射文件-当它碰到一个过程()时,它会分解id上的字符串等来找出过程id。然后我可以为它grep java源目录,不包括映射文件,如果没有找到,请打印参数和调用的过程。谢谢@Mike Myers-我一直在考虑将两个步骤作为一个步骤来执行,并且不必要地使过程复杂化。这将简化它并使其更具可读性。我收集了一个java程序,递归地定位ibatis文件,提取过程,然后递归地检查java文件中的过程,如果找到了,将其从列表中删除。我唯一想知道的是,它是否真的是一个好的模式——它相当于数据密集型的,但没有使用脚本和grep或java内部的东西来搜索文件,我看不到更好的选择。