druid数据库连接池工具类
依赖的jar包 druid-1.1.9.jar
package com.zhanghan.utils;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import sun.applet.Main;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCUtils {
public static void main(String[] args) {
}
// 声明数据库连接池
private static DruidDataSource dataSource;
// 静态代码块初始化
static {
Properties prop = new Properties();
// 读取JDBC.properties配置文件
try {
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
prop.load(is);
// 创建数据库连接池
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(prop);
System.out.println(dataSource.getConnection());
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
Connection connection = null;
try {
connection = dataSource.getConnection();
}catch (SQLException e){
e.printStackTrace();
}
return connection;
}
public static void close(Connection connection){
if(connection!=null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3.baseDao
再javaWeb开发的过程中,可以创建一个抽象类baseDao来简便Dao层的开发,代码如下使用QueryRunner
依赖的jar包
package com.zhanghan.dao.impl;
import com.zhanghan.utils.JDBCUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
public abstract class baseDao {
//使用dautils操作数据库
private QueryRunner queryRunner = new QueryRunner();
public int update(String sql,Object ... args){
Connection connection = JDBCUtils.getConnection();
try {
int update = queryRunner.update(connection, sql, args);
return update;
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtils.close(connection);
}
return -1;
}
public T queryForOne(String sql,Class type,Object ... args){
Connection connection = JDBCUtils.getConnection();
try {
return queryRunner.query(connection,sql,new BeanHandler(type),args);
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtils.close(connection);
}
return null;
}
public List queryForList(String sql,Class type,Object ... args){
Connection connection = JDBCUtils.getConnection();
try {
return queryRunner.query(connection,sql,new BeanListHandler(type),args);
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtils.close(connection);
}
return null;
}
public Object queryForSinglevalue(String sql,Object ... args){
Connection connection = JDBCUtils.getConnection();
try {
return queryRunner.query(connection,sql,new ScalarHandler(),args);
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtils.close(connection);
}
return null;
}
}



