11package org .javawebstack .orm .wrapper ;
22
3- import org .javawebstack .orm .ORM ;
43import org .javawebstack .orm .exception .ORMQueryException ;
54
65import java .sql .*;
7- import java .util .Arrays ;
8- import java .util .HashMap ;
9- import java .util .Locale ;
10- import java .util .Map ;
11- import java .util .logging .Level ;
12- import java .util .stream .Collectors ;
6+ import java .sql .Date ;
7+ import java .util .*;
138
149public abstract class BaseSQL implements SQL {
1510
1611 private final Map <ResultSet , Statement > statementMap = new HashMap <>();
12+ private final List <QueryLogger > loggers = new LinkedList <>();
1713
1814 public abstract Connection getConnection ();
1915
2016 public int write (String queryString , Object ... parameters ) throws SQLException {
17+ loggers .forEach (l -> l .log (queryString , parameters ));
2118 Connection connection = getConnection ();
22- ORM .LOGGER .log (Level .ALL , queryString );
23- ORM .LOGGER .log (Level .ALL , Arrays .stream (parameters ).map (o -> o == null ? "null" : o .toString ()).collect (Collectors .joining ("," )));
2419 if (queryString .toLowerCase (Locale .ROOT ).startsWith ("insert" )) {
2520 PreparedStatement ps = setParams (connection .prepareStatement (queryString , Statement .RETURN_GENERATED_KEYS ), parameters );
2621 ps .executeUpdate ();
@@ -41,9 +36,8 @@ public int write(String queryString, Object... parameters) throws SQLException {
4136 }
4237
4338 public ResultSet read (String queryString , Object ... parameters ) throws SQLException {
39+ loggers .forEach (l -> l .log (queryString , parameters ));
4440 Connection connection = getConnection ();
45- ORM .LOGGER .log (Level .ALL , queryString );
46- ORM .LOGGER .log (Level .ALL , Arrays .stream (parameters ).map (o -> o == null ? "null" : o .toString ()).collect (Collectors .joining ("," )));
4741 PreparedStatement ps = setParams (connection .prepareStatement (queryString ), parameters );
4842 ResultSet rs = ps .executeQuery ();
4943 statementMap .put (rs , ps );
@@ -109,4 +103,12 @@ public void cleanUp() {
109103 close (rs );
110104 }
111105
106+ public void addQueryLogger (QueryLogger logger ) {
107+ loggers .add (logger );
108+ }
109+
110+ public void removeQueryLogger (QueryLogger logger ) {
111+ loggers .remove (logger );
112+ }
113+
112114}
0 commit comments