如何在Java中打印Statement(CallableStatement)? [英] how to print Statement (CallableStatement) in Java?

查看:347
本文介绍了如何在Java中打印Statement(CallableStatement)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何打印此OracleCallableStatement?

How can I print this OracleCallableStatement ?

   ocstmt = (OracleCallableStatement) connection.prepareCall("{?= call 
            package.method(id => ?, name=>?)}");
   ocstmt.registerOutParameter(1, OracleTypes.CURSOR);            
   ocstmt.setInt(2, obj.getId());
   ocstmt.setString(3, obj.getName());
   ocstmt.execute();
   resultSet = ocstmt.getCursor(1);

我的意思是我怎么知道什么查询进入数据库,如何打印查询?因为有时它会给我一个错误,比如错误的类型,这就是为什么我要查看这个查询

What I mean is how can I know that what query goes to the database, how can I print the query? because sometimes it gives me error like "Wrong type" that is why I want to look at this query

推荐答案

你使用的是log4j吗? ?

Are you using log4j?

如果是这样,请为sql添加记录器,如下所示。

If so, add loggers for sql like below.

log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG

如果您使用的是ibatis等ORM框架,可以添加额外的记录器如下。

If you are using a ORM framework such as ibatis, you could add additional logger like below.

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG

这篇关于如何在Java中打印Statement(CallableStatement)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆