Implement SQLInterceptor (1.3.3)
This commit is contained in:
parent
733bf50f91
commit
d81bbb58a9
@ -2,17 +2,26 @@ package dst.ass1.jpa.interceptor;
|
|||||||
|
|
||||||
import org.hibernate.EmptyInterceptor;
|
import org.hibernate.EmptyInterceptor;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
|
import static dst.ass1.jpa.util.Constants.T_LOCATION;
|
||||||
|
import static dst.ass1.jpa.util.Constants.T_TRIP;
|
||||||
|
|
||||||
public class SQLInterceptor extends EmptyInterceptor {
|
public class SQLInterceptor extends EmptyInterceptor {
|
||||||
|
|
||||||
private static final long serialVersionUID = -3082243834965597947L;
|
private static final long serialVersionUID = -3082243834965597947L;
|
||||||
|
|
||||||
|
private static final AtomicInteger selectCount = new AtomicInteger(0);
|
||||||
|
private static boolean print = false;
|
||||||
|
|
||||||
public static void resetCounter() {
|
public static void resetCounter() {
|
||||||
// TODO
|
selectCount.set(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getSelectCount() {
|
public static int getSelectCount() {
|
||||||
// TODO
|
return selectCount.get();
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -21,12 +30,22 @@ public class SQLInterceptor extends EmptyInterceptor {
|
|||||||
* @param verbose whether or not to be verbose
|
* @param verbose whether or not to be verbose
|
||||||
*/
|
*/
|
||||||
public static void setVerbose(boolean verbose) {
|
public static void setVerbose(boolean verbose) {
|
||||||
// TODO
|
print = verbose;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String onPrepareStatement(String sql) {
|
public String onPrepareStatement(String sql) {
|
||||||
// TODO
|
if (print)
|
||||||
|
System.out.println(sql);
|
||||||
|
|
||||||
|
if (sql.toLowerCase(Locale.ROOT).contains("select") &&
|
||||||
|
(
|
||||||
|
sql.toLowerCase(Locale.ROOT).contains("from " + T_LOCATION.toLowerCase(Locale.ROOT)) ||
|
||||||
|
sql.toLowerCase(Locale.ROOT).contains("from " + T_TRIP.toLowerCase(Locale.ROOT))
|
||||||
|
)) {
|
||||||
|
selectCount.incrementAndGet();
|
||||||
|
}
|
||||||
|
|
||||||
return sql;
|
return sql;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user