`

JDBC-SQL的输出

阅读更多
前几天,有个朋友问我,怎么输出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 stub
		Class.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的日志文件。
  • 大小: 21.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics