【发布时间】:2018-12-03 08:20:09
【问题描述】:
我正在做一个项目,我需要在日志文件中记录查询并将这些查询也添加到我的断言语句中
我已经使用以下驱动程序构建了准备好的语句
net.sf.log4jdbc.sql.jdbcapi.DriverSpy
还有网址
jdbc:log4jdbc:sybase:Tds ........
我使用的依赖如下:
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
PrepareStatement 示例:
public void getTest(MyBean bean) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = DatabaseUtil.getDatabaseConnection();
ps = conn.prepareStatement(objTestQueryUtil.getQuery("GET_Test"));
ps.setString(1, bean.getTypeOfTest());
ps.setString(2, bean.getTest());
ps.setString(3, bean.getTestState());
ps.setString(4, bean.getTestStep());
rs = ps.executeQuery();
while(rs.next()) {
bean.setTest(rs.getInt("Test"));
}
}catch (SQLException e) {
AutomationLog.error(e.getMessage(),e);
}finally {
DatabaseUtil.close(conn,ps,rs);
}
}
在我的断言类中,sql 应该在我的断言代码中看到:
Assert.assertTrue("Got Test "+query, true);
您能否告诉我是否有任何方法可以在 java 中获取变量中的查询,目前查询直接登录到日志文件中,但无论如何我都无法找到可以在我的脚本中获取它们的方法,即存储在任何变量等上
如果当前依赖项没有针对预先准备好的语句的此类规定,也欢迎使用其他依赖项或解决方案
【问题讨论】:
标签: java jdbc log4j prepared-statement jtds