封装了增删改查功能
适用于MySQL、Oracle、SQLServer、DB2、Sybase、JTDS、PostgreSql、SQLite、Derby、H2、HSQLDB、ODBC 等等数据库,有需要的还可以自己增加。
package com.tgb.hz.jdbc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
/**
* 数据访问基类
* 支持 MySQL、Oracle、SQLServer、DB2、Sybase、PostgreSql、SQLite、Derby、H2、HSQLDB、ODBC、SQLServer_JTDS、Sybase_JTDS
*
切换数据库时,需要指定相关参数
*
* @author hezhao
* @Time 2017年7月27日 下午4:22:23
* @Description 无
* @Version V 1.0
*/
public class BaseDao {
private final Logger logger = LoggerFactory.getLogger(BaseDao.class);
private final boolean isLog = false;//是否记录SQL日志
private final boolean isConfig = false;//是否需要配置文件
private final boolean isDataSource = false;//是否从连接池取连接
private final String datasource = "";//如果是从连接池取连接,那么给出连接名称
private final DBType type = DBType.MySQL;//数据库类型
// 数据库名
private final String db = "dbname";
private final String ip = "127.0.0.1";
private String name = "root";
private String pwd = "root";
private String driver;
private String url;
private Connection conn = null;
private PreparedStatement pstmt = null;
protected ResultSet rs = null;
{
//把JDBC配置信息放在配置文件中
if(isConfig){
final Properties properties = new Properties();
try {
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("jdbc.properties"));
} catch (final IOException e) {
logger.error("加载JDBC配置信息失败...