六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 31|回复: 0

JDBC-SQL的输出

[复制链接]

升级  12%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
68
 楼主| 发表于 2013-2-3 10:36:12 | 显示全部楼层 |阅读模式
前几天,有个朋友问我,怎么输出JDBC对DB的SQL?当时没明白,他的意思,一样以为是在PreparedStatement类,上封装字符串的SQL传递给它。虽然可以达到效果,当是,当使用Hibernate,ibatis,spring等等,对DB进行了封装就没则了。所以在网上找了一些方法,说起来也复杂,无意中,在网上找到一个 P6Spy.jar ,这个工具可以监控对数据库的所有操作情况,包括SQL的输出,输出引用的是 log4j 的配置。操作简单,也好使。废话说完,直接上码


1、加载 P6Spy 封装的 Driver

public static void main(String[] args) throws Exception {// TODO Auto-generated method stubClass.forName("com.p6spy.engine.spy.P6SpyDriver");String url = "jdbc:mysql://localhost:3306/db";String user = "root";String password = "123";Connection conn = DriverManager.getConnection(url, user, assword);PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM t_wap_adv WHERE id = ?");pstmt.setInt(1, 4221);ResultSet rs = pstmt.executeQuery();while(rs.next()){System.out.print(rs.getString(1));}}

2、在spy.properties里配置访问的数据的Driver
realdriver=com.mysql.jdbc.Driver

完成。就这么简单
注意:1、spy.properties 应放置于/WEB-INF/classses/目录下。
2、打印的日志生成默认应该是在本工程的目录下,一个叫spy.log的日志文件。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表