jboss:跟踪所有sql语句及sql参数
默认情况下,hibernate/JPA 在server.log中记录的SQL语句,参数都是用?代替的,这样不太方便. 网上留传的p6spy在最新的jboss上(EAP 6.0+版本)貌似已经不起作用了(至少我没弄成功过)
幸好,Jboss已经自带了jdbc监控功能,开启步骤如下:
1、standalone.xml中增加
<logger category="jboss.jdbc.spy">
<level name="DEBUG"/>
</logger>
2、所有的DataSouce节点上,增加spy="true",参考下面这样:
<datasource jta="false" jndi-name="java:/XE" pool-name="XE" enabled="true" spy="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@localhost:1521:XE</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
...
好了,server.log中就会记录详细的sql信息,类似下面这样:
...
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) Hibernate:
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) /* insert org.jboss.as.quickstart.hibernate4.model.Member
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) */ insert
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) into
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) MemberHibernate4Demo
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) (address, email, name, phone_number, id)
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) values
11:26:28,788 INFO [stdout] (http-localhost/127.0.0.1:8080-2) (?, ?, ?, ?, ?)
11:26:28,788 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(1, shanghai,China)
11:26:28,788 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(2, jimmy.yang@jboss.org)
11:26:28,789 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(3, jimmy)
11:26:28,789 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setString(4, 13916752129)
11:26:28,789 DEBUG [jboss.jdbc.spy] (http-localhost/127.0.0.1:8080-2) java:/XE [PreparedStatement] setLong(5, 4)
...
jboss:跟踪所有sql语句及sql参数的更多相关文章
- mybatis mapper文件sql语句传入hashmap参数
1.怎样在mybatis mapper文件sql语句传入hashmap参数? 答:直接这样写map就可以 <select id="selectTeacher" paramet ...
- 第15讲:嵌入式SQL语句(动态SQL)
一.动态SQL概述 1. 静态SQL vs 动态SQL ①动态SQL是相对静态SQL而言的 ②静态SQL特点:SQL语句在程序中已经按要求写好,只需要把一些参数通过变量传递给SQL语句即可 specN ...
- 如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;)。
1.如果一条SQL语句太长,我们可以通过回车键来创建一个新行来编写SQL语句,SQL语句的命令结束符为分号(;). 2.select查询的多个字段之间要用逗号“,”分割,如果查询涉及多个表,那多个表之 ...
- 基于简单sql语句的sql解析原理及在大数据中的应用
基于简单sql语句的sql解析原理及在大数据中的应用 李万鸿 老百姓呼吁打土豪分田地.共同富裕,总有一天会实现. 全面了解你所不知道的外星人和宇宙真想:http://pan.baidu.com/s/1 ...
- mybatis日志,打印sql语句,输出sql
mybatis日志,打印sql语句,输出sql<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE ...
- sql语句优化SQL Server
MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了 ...
- SqlServer和Oracle中一些常用的sql语句9 SQL优化
--SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...
- 常见SQL语句和SQL基础知识
引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name k ...
- 使用SQL语句在SQL server2017上创建数据库
软件基础:在电脑上提前安装好SQL server2017,并且安装好其中的SSMS(SQL server Management Studio) 创建方式:SQL语句 操作内容:创建零件供应数据库系统 ...
随机推荐
- javascript-抽象工厂模式
抽象工厂模式笔记 1.抽象工厂模式创建多个抽象类,创建出的结果是一个类簇(这里是抽象类的集合) 2.抽象工厂中传入的父类是否是抽象工厂方法创建的抽象类进行判断,不是则抛出错误 3.子类通过 ...
- 可输出sql的PrepareStatement封装
import java.io.InputStream; import java.io.Reader; import java.net.URL; import java.sql.Connection; ...
- BootStrap入门教程 (一)
BootStrap入门教程 (一) 2011年,twitter的"一小撮"工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用.优雅.灵活.可扩展的前端 ...
- C# 读取在存储过程多结果集
--SQL Server 测试环境搭建: Create database Test; go USE [Test] GO if OBJECT_ID('Tab','U') is not null drop ...
- VIM使用技巧总结
一.vim使用的基本配置 1: set nu //设置行号 2: set ts=4 //设置tab为4个空格大小 3: set expandtab //设置用空格代替tab 4: set ai //设 ...
- x01.os.9: 进程切换
进入内核后,当然不能无所事事.先创建三个进程,分别打印 A,B,C.虽然只是简单的打印,但却是一切扩展的基础,不可等闲视之. 进程切换,涉及一系列的寄存器需要保护,于是,就有了 ProcessStac ...
- 错误“Unexpected namespace prefix "xmlns" found for tag LinearLayout”的解决方法(转)
(转自:http://blog.csdn.net/bombzhang/article/details/12676789) 有一次升级开发工具后发现xml脚本出现错误“Unexpected namesp ...
- [转]ASP.NET MVC IOC 之AutoFac攻略
本文转自:http://www.cnblogs.com/WeiGe/p/3871451.html 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用A ...
- 150923-碎觉要-PHP,Linux
今天懒懒的,还是每天都懒懒的. 早上下午都没有更.还好还有晚上更的想法和行动. 总结如下 1.PHP --wamp的一点配置问题,把根文件改为自己所要的文件夹.改动Apache的配置文件以及更改wam ...
- MMORPG大型游戏设计与开发(part6 of net)
上一部分,讲述了一个服务器与服务器之间的通信实例,客户端其实原理大同小异.网络部分准备就暂时讲到这里,不过我们不妨再回头过来想想在这过程中有没有优化和改进的地方.这部分讲解的是以网络包代码作分析,实现 ...