以mysql为例,首先在大家学习的教材中,我们通过这样的方式获取到java的数据库连接
/**
* 数据库驱动名称
* */
private static final String DB_DRIVER="com.mysql.jdbc.Driver";
/**
* 数据库地址
* */
private static final String DB_URL="jdbc:mysql://localhost:3306/mydb";
/**
* 数据库用户名
* */
private static final String DB_USER="root";
/**
* 数据库密码
* */
private static final String DB_PASSWORD="123456";
//类加载机制,使用这样的方式来加载数据库的驱动
Class.forName(DB_DRIVER);
//只有加载之后,才能保证通过这个接口拿到我们想要的数据
Connection connection=DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
在数据库连接池中,因为所有的数据库连接都要进行多次使用,获取数据库连接的方式,就要通过由javax包提供的DataSource接口进行数据库连接的获取
在druid,我们可以通过以下的代码来获取一个数据库连接
//通过Map作为参数获取连接
Map<String,String> map=new HashMap<String,String>();
//向map中传递参数
map.put("url", "jdbc:mysql://127.0.0.1:3306/DBName");//数据库地址
map.put("username", "root");//用户名
map.put("password", "123456");//密码
//创建数据源
DataSource dataSource = DruidDataSourceFactory.createDataSource(map);
//获取连接
Connection connection = dataSource.getConnection();
如果你打算使用一个配置文件可以参照以下的用法
//从项目目录下的config文件夹中读取DBProperties.properties文件作为数据源的配置(config与src同级)
File file = new File(System.getProperty("user.dir" + File.separator
+ "config")
+ File.separator + "DBProperties.properties");
Properties ps = new Properties();
ps.load(new FileInputStream(file));
//创建数据源
DataSource dataSource = DruidDataSourceFactory.createDataSource(ps);
//获取连接
Connection connection = dataSource.getConnection();
druid的参考配置
#数据库地址
url=jdbc:mysql://127.0.0.1:3306/DBName
#用户名
username=root
#密码
password=123456
#初始化时,数据库连接池中的连接数量
initialSize=1
#数据库保持的最小连接数
minIdle=1
#最大活跃连接数
maxActive=20
#数据库获取连接的超时值
maxWait=60000
#-------配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis=60000
validationQuery=SELECT 'x'
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
#-----打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements=true
maxPoolPreparedStatementPerConnectionSize=20
#配置监控统计拦截的filters
filters=stat
注意事项:
当我们从DataSource 里面获取一个Connection,并且使用结束之后,一定要调用close()方法来关闭这个Connection,防止连接泄露。