Quellcode durchsuchen

mybatis interceptor 추가

huiwonseo vor 4 Jahren
Ursprung
Commit
38f2cf9c70

+ 87 - 46
src/main/java/com/lemon/lifecenter/common/LifeCenterQueryLog.java

@@ -22,6 +22,15 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 
 import com.lemon.lifecenter.dto.PrivateLogDTO;
 import com.lemon.lifecenter.service.PrivateLogService;
+import java.sql.Connection; 
+import java.sql.DriverManager; 
+import java.sql.SQLException; 
+import java.sql.Statement;
+import java.sql.*;
+import cubrid.sql.*; //a
+import cubrid.jdbc.driver.*;
+
+
 
 /*
    @Intercepts(@Signature(
@@ -34,59 +43,91 @@ import com.lemon.lifecenter.service.PrivateLogService;
         @Signature(type = StatementHandler.class, method = "query", args = { Statement.class, ResultHandler.class }) })
 public class LifeCenterQueryLog implements Interceptor {
     
+    private Connection con; 
+    private Statement stmt;
+    
+        
     @Override
     public Object intercept(Invocation invocation) throws Throwable {
-//        String method = invocation.getMethod().getName();
-//        
-//        StatementHandler handler = (StatementHandler) invocation.getTarget();
-//        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder .getRequestAttributes()).getRequest();
-//
-//        String sql = bindSql(handler); // SQL 추출
-//        String param = handler.getParameterHandler().getParameterObject()!=null ?
-//                handler.getParameterHandler().getParameterObject().toString() : "";
-//        
-//        Object session = request.getSession().getAttribute( "sesId" );
-//        String url  = request.getRequestURI().toString();
-//        String port = String.valueOf(request.getServerPort());
-//        Object groupIdx = request.getSession().getAttribute( "sesGroupIdx" );
-//        Object sesMId   = request.getSession().getAttribute( "sesMId" );
-//        Object sesPasswordChange = request.getSession().getAttribute( "sesPasswordChange" );
-//        Object sesAcceptCheck = request.getSession().getAttribute( "sesAcceptCheck" );
-//        Object sesPermissions = request.getSession().getAttribute( "sesPermissions" );
+        
+        
+        String method = invocation.getMethod().getName();
+        
+        StatementHandler handler = (StatementHandler) invocation.getTarget();
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder .getRequestAttributes()).getRequest();
+
+        String sql = bindSql(handler); // SQL 추출
+        String param = handler.getParameterHandler().getParameterObject()!=null ?
+                handler.getParameterHandler().getParameterObject().toString() : "";
+        
+        Object session = request.getSession().getAttribute( "sesId" );
+        String url  = request.getRequestURI().toString();
+        String port = String.valueOf(request.getServerPort());
+        Object groupIdx = request.getSession().getAttribute( "sesGroupIdx" );
+        Object sesMId   = request.getSession().getAttribute( "sesMId" );
+        Object sesPasswordChange = request.getSession().getAttribute( "sesPasswordChange" );
+        Object sesAcceptCheck = request.getSession().getAttribute( "sesAcceptCheck" );
+        Object sesPermissions = request.getSession().getAttribute( "sesPermissions" );
 //        System.err.println( param );
 //        if( sql.contains( "-- insertSysQueryLog" ) ) {
 //            System.err.println( param );
 //        }
-//        if( session != null ) {
-//            if( !param.contains( "com.lemon.lifecenter.dto.LoginDTO" ) ) {
-//                if( !sql.contains( "-- selectNowPathRoleCheckTotal" ) &&
-//                        !sql.contains( "-- selectNowPathRoleCheckData" ) && 
-//                        !sql.contains( "-- insertMenuAccessLog" ) &&
-//                        !sql.contains( "-- selectSideMenuList" ) && 
-//                        !sql.contains( "-- insertSysQueryLog" ) ) {
-//                    
-//                    System.err.println("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");
-//                    System.err.println(sql);
-//                    System.err.println("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");
-//                }
-//            }
-//        }
+        if( session != null ) {
+            if( !param.contains( "com.lemon.lifecenter.dto.LoginDTO" ) ) {
+                if( !sql.contains( "-- selectNowPathRoleCheckTotal" ) &&
+                        !sql.contains( "-- selectNowPathRoleCheckData" ) && 
+                        !sql.contains( "-- insertMenuAccessLog" ) &&
+                        !sql.contains( "-- selectSideMenuList" ) && 
+                        !sql.contains( "-- insertPrivateAccessLog" ) ) {
+                    
+                    System.err.println("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");
+                    System.err.println(sql);
+                    try { 
+                        String durl = "jdbc:log4jdbc:cubrid:118.67.133.187:30000:LIFE_CENTER:::?charset=UTF-8"; 
+                        String user = "dba"; 
+                        String passwd = "#zo240s!"; 
+                        con = DriverManager.getConnection(durl, user, passwd); 
+                        System.out.println("DB연결 성공"); 
+                        stmt = con.createStatement(); 
+                        System.out.println("Statement객체 생성 성공");
+                        
+                        String ss = ""
+                                + "INSERT "
+                                + "  INTO private_access_log "
+                                + "       ( id, accessor_detail, ip, create_date, full_url, processing_contents, processing_target ) "
+                                + "VALUES ( 'hwsys', '222r2r2rs', '1234', NOW(), 'test111', ?, '')";
+                        PreparedStatement stmt = con.prepareStatement(ss);
+                        stmt.setString(1, sql);
+                        stmt.executeUpdate();
+
+                        stmt.close(); 
+                        con.close(); 
+                    } catch (SQLException e) { 
+                            System.out.println("DB연결 실패"); 
+                            System.out.print("사유 : " + e.getMessage()); 
+                    }
+                    
+                    
+                    System.err.println("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★");
+                }
+            }
+        }
         
-//        if ( url.contains( "/error" ) || url.contains( "/nonface/wait" ) || url.contains( "/mobile/call" ) ||
-//             url.contains( "/store" ) || url.contains( "/favicon.ico" )  || url.contains( "/mobile/getAppVersion" ) ||
-//             url.contains("/lifeCenter/api") || url.contains( "/accept/public" ) ) {
-//            
-//        } else if( url.contains( "/mobile" ) ) {
-//            
-//        } else {
-//            
-//            if( !url.equals( "/login/staff" ) && !url.equals( "/login/admin" ) ) {
-//                if( session == null ) {
-//                    
-//                }
-//            }
-//            
-//        }
+        if ( url.contains( "/error" ) || url.contains( "/nonface/wait" ) || url.contains( "/mobile/call" ) ||
+             url.contains( "/store" ) || url.contains( "/favicon.ico" )  || url.contains( "/mobile/getAppVersion" ) ||
+             url.contains("/lifeCenter/api") || url.contains( "/accept/public" ) ) {
+            
+        } else if( url.contains( "/mobile" ) ) {
+            
+        } else {
+            
+            if( !url.equals( "/login/staff" ) && !url.equals( "/login/admin" ) ) {
+                if( session == null ) {
+                    
+                }
+            }
+            
+        }
         
         return invocation.proceed();
     }

+ 5 - 1
src/main/resources/application.properties

@@ -2,7 +2,6 @@ spring.mvc.view.prefix=/WEB-INF/jsp/
 spring.mvc.view.suffix=.jsp
 #spring.mvc.static-path-pattern=/resources
 #spring.resources.static-locations=classpath:/resources/
-#mybatis.config-location=classpath:mybatis-config.xml
 #spring.datasource.driver-class-name=cubrid.jdbc.driver.CUBRIDDriver
 #spring.datasource.url=jdbc:cubrid:localhost:30000:LIFE_CENTER:::?charset=UTF-8
 spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
@@ -12,6 +11,11 @@ spring.datasource.url=jdbc:log4jdbc:cubrid:118.67.133.187:30000:LIFE_CENTER:::?c
 #spring.datasource.driver-class-name=cubrid.jdbc.driver.CUBRIDDriver
 #spring.datasource.url=jdbc:cubrid:10.175.153.104:30000:LIFE_CENTER:::?altHosts=10.175.153.105:30000&charset=UTF-8
 #
+
+mybatis.config-location=classpath:mybatis-config.xml
+
+
+
 spring.datasource.username=dba
 spring.datasource.password=#zo240s!
 spring.datasource.sql-script-encoding=UTF-8