p6spy簡單測試
P6Spy是一個可以用來在應用程序中攔截和修改數據操作語句的開源框架。
下載地址:http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22p6spy%22%20AND%20a%3A%22p6spy%22
建議下載zip包,里面jar比較全。
網上的幾個p6spy例子都比較老,2.0版以上spy.properties配置有些改動。
當前最新版是v2.1,入門和配置,建議看官網文檔: http://p6spy.github.io/p6spy/2.0/configandusage.html
sql輸出,默認就兩種:com.p6spy.engine.spy.appender.SingleLineFormat(單行)和 com.p6spy.engine.spy.appender.MultiLineFormat(多行),兩者沒多大區別,覺的不夠用的 自行擴展com.p6spy.engine.spy.appender.MessageFormattingStrategy。
執行P6spyTest1得到如下結果(多行格式--MultiLineFormat):
#1403080487947 | took 63ms | statement | connection 0|select userid,username from t_user where id=?
select userid,username from t_user where id=1;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import com.p6spy.engine.spy.P6DataSource;
import com.p6spy.engine.spy.P6SpyDriver;
public class DBManager {
static{
initDatabase();
}
static String driverclass = "com.p6spy.engine.spy.P6SpyDriver";
// static String url = "jdbc:mysql://192.168.2.54/test_sl?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull";
static String url = "jdbc:p6spy:mysql://192.168.2.54/test_sl?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull";
static String dbuser = "root";
static String passwd = "123456";
/**
* 不需要<br/>
* P6SpyDriver內已執行DriverManager.registerDriver(driver);
*/
static void initDatabase(){
// try {
// Driver driver = (Driver) Class.forName(driverclass).newInstance();
// DriverManager.registerDriver(driver);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
}
// public static Connection getConnect() throws SQLException{
// P6DataSource ds = new P6DataSource();
// return ds.getConnection(dbuser, passwd);
// }
/**
* 與getConnect()結果相同
* @return
* @throws SQLException
*/
public static Connection getConnect1() throws SQLException{
P6SpyDriver driver = new P6SpyDriver();
Properties prop = new Properties();
prop.setProperty("user", "root");
prop.setProperty("password", "hkgt123");
return driver.connect(url, prop);
// return DriverManager.getConnection(url, prop);
}
public static Connection getConnect() throws SQLException{
Properties prop = new Properties();
prop.setProperty("user", "root");
prop.setProperty("password", "hkgt123");
return DriverManager.getConnection(url, prop);
}
} 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!