jdbcaspect.java

来自「办公自动化项目」· Java 代码 · 共 42 行

JAVA
42
字号
package hong.javanet.dao;

import hong.javanet.aop.InterceptorHandler;
import hong.javanet.frame.PostInterceptorException;
import hong.javanet.frame.PreInterceptorException;
import java.sql.Connection;
import org.apache.log4j.Logger;
import java.sql.*;

public class JDBCAspect extends InterceptorHandler {
    private static Logger log =
            Logger.getLogger(JDBCAspect.class);
    public void doPostCommand(Object command) throws PostInterceptorException {
        Connection conn = (Connection) ConnectionUtil.current.get();
        if (conn != null) { //提交事物,释放连接
            try {
                conn.commit();
            } catch (SQLException ex) {
                log.fatal(ex.getMessage(),ex);
            }
            ConnectionUtil.closeConnection();
        }
    }

    public void doExceptionThrow(Object command, Throwable ex) throws
            PostInterceptorException {
        try {
            Connection conn = (Connection) ConnectionUtil.current.get();
            if (conn != null) { //有异常发生,回滚事物,释放连接
                conn.rollback();
                ConnectionUtil.closeConnection();
            }
        } catch (Exception ex1) {
            log.fatal(ex1.getMessage(), ex1);
        }
        log.error(ex.getMessage(), ex); //记录错误日志
        //    throw ExceptionUtil.wrapException(ex);
    }


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?