⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basedao.java

📁 ecside jsp前途分页的标签 实现ajax 增删改查等
💻 JAVA
字号:
package demo.classic.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Map;

import javax.sql.DataSource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.ecside.common.log.LogHandler;
import org.ecside.easydataaccess.ConnectionUtils;
import org.springframework.jdbc.datasource.DataSourceUtils;

public class BaseDAO {
	private DataSource dataSource;

	protected static int MAX_BATCH = 10000;

	private Log logger = LogFactory.getLog(BaseDAO.class);

	public void setDataSource(DataSource ds) {
		dataSource = ds;
	}

	public DataSource getDataSource() {
		return dataSource;
	}

	protected final void closeConnection(Connection conn) {
		ConnectionUtils.closeAllStatement(conn);
		DataSourceUtils.releaseConnection(conn, getDataSource());
	}

	public void close(ResultSet rest, Statement pstmt, Connection conn) {
		try {
			close(rest);
		} catch (SQLException e) {
			LogHandler.errorLog(logger, e);
		}
		close(pstmt, conn);
	}

	public void close(Statement pstmt, Connection conn) {
		try {
			close(pstmt);
		} catch (SQLException e) {
			LogHandler.errorLog(logger, e);
		}
		close(conn);
	}

	public void close(ResultSet rest) throws SQLException {
		if (rest != null)
			rest.close();
	}

	public void close(Statement pstmt) throws SQLException {
		if (pstmt != null)
			pstmt.close();
	}

	public void close(Connection conn) {
		if (conn != null)
			closeConnection(conn);
	}

	protected final Connection getConnection() {
		Connection conn;
		try {
			conn = DataSourceUtils.getConnection(getDataSource());
			ConnectionUtils.initStatementMap(conn);
		} catch (Exception e) {
//			LogHandler.errorLog(logger, e);
			return getConnectionDirect();
		}
		return conn;
	}

	public Connection getConnectionDirect(){
		try {
				String DRIVER_NAME="org.h2.Driver";
				String USER_NAME="sa";
				String PASSWORD="";
				String CONNECTION_URL="jdbc:h2:tcp://localhost/testdb";
				Class.forName(DRIVER_NAME);
				return DriverManager.getConnection(CONNECTION_URL,USER_NAME, PASSWORD);
				
			} catch (Exception e) {
//				LogHandler.errorLog(logger, e);
				return null;
			}

	}

	// ////////////////////////////////////////////////

	// ////////////////////////////////////////////////

	public static String[] getColumnName(ResultSet resultSet)
			throws SQLException {
		ResultSetMetaData metaData = resultSet.getMetaData();
		int cols = metaData.getColumnCount();
		String[] columnName = new String[cols];
		for (int i = 0; i < columnName.length; i++) {
			columnName[i] = metaData.getColumnName(i + 1).toUpperCase();
		}
		return columnName;
	}

	public static int[] getColumnType(ResultSet resultSet) throws SQLException {
		ResultSetMetaData metaData = resultSet.getMetaData();
		int cols = metaData.getColumnCount();
		int[] columnType = new int[cols];
		for (int i = 0; i < columnType.length; i++) {
			columnType[i] = metaData.getColumnType(i + 1);
		}
		return columnType;
	}

	public static void buildRecord(ResultSet resultSet, String[] columnName,
			Map map) throws SQLException {
		for (int i = 0; i < columnName.length; i++) {
			map.put(columnName[i], resultSet.getString(columnName[i]));
		}
	}

}

⌨️ 快捷键说明

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