公司老项目使用SSH+informix+weblogic+IE开发,我们要做ui自动化测试,其中的测试数据复原,我打算通过hibernate输出sql,然后把插入、更新的sql改为delete或update(大部分用delete就行,具体看sql),然后在每次自动化测试任务开始前执行这些sql。部署好项目到本地后,修改配置,但发现hibernate输出的只有预编译sql和对应的参数,这样大大增加了修改sql的难度。

查看代码,发现项目中使用p6spy框架拦截sql语句,但默认只能在spy.properties配置下图的红圈部分,而且不能自定义(我不需要输出select语句和resultset)。

 

在spy.properties如上图添加一个自定义的类,该类实现P6logger接口,实现logSQL方法

    @Override
public void logSQL(int connectionId, String now, long elapsed, String category,
String prepared, String sql) {
if (!"resultset".equals(category)){
// 按指定模式在字符串查找
String regex = "^update.*|^insert.*|^delete.*";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(sql);
if (matcher.find()) {
System.out.println("【SQL】" + sql);
}
}
}


最新文章

  1. [leetcode]题型整理之用bit统计个数
  2. 覆盖的面积(HDU 1255 线段树)
  3. JavaEE基础(五)
  4. Python 字典(Dictionary)
  5. 深入浅出ES6(十):集合
  6. javadoc注释规范
  7. poj 1084 舞蹈链(纠结题)
  8. sql复制表数据的方法
  9. JavaScript 性能优化技巧分享
  10. k8s 各种网络方案 - 每天5分钟玩转 Docker 容器技术(170)
  11. [Swift]LeetCode168. Excel表列名称 | Excel Sheet Column Title
  12. Java 异常体系
  13. linux下安装部署ansible
  14. sql server中的全局变量,常用的没有多少...以后看看就行
  15. 在windows下使用jenkins部署docker容器
  16. Linux学习历程——Centos 7 man命令
  17. TCP3次握手和4次挥手及其为什么
  18. GUN WINDOW 工具
  19. Minimalist GNU for Windows
  20. LOJ#2170. 「POI2011」木棍 Sticks

热门文章

  1. 基于ASP.NET Core 6.0的整洁架构
  2. 【IDEA】IDEA怎么汉化&汉化后怎么转回英文
  3. 安装Windows_server_2012_r2虚拟机步骤
  4. hadoop 文件参数配置
  5. ubuntu语言支持打不开,点了没反应
  6. Thrift RPC改进—更加准确的超时管理
  7. idea每次换行后光标都跑到最左边问题
  8. MAC MySQL安装配置
  9. Spring 后置处理器【1】
  10. KVM更改虚拟机默认存储路径