配置数据源的时候一般我们会把数据源配置到数据库(一个库)上面去。
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.log4j.Logger;
public class DBUtils {
private static final Logger LOGGER = Logger.getLogger(DBUtils.class);
/**
* 得到数据库连接对象,如果异常返回null
*/
public static Connection getMysqlConnection() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:mysql://localhost:3306/test"); //此处我将数据源的链接配置到test库
dataSource.setPassword("test");
dataSource.setUsername("root");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
Connection con=null;
try {
con = dataSource.getConnection();
return con;
} catch (SQLException e) {
//LOGGER.error("class: DBUtils method:getMysqlConnection SQLException"+e);
e.printStackTrace();
return null;
}
}
/**
* 释放数据库连接等对象
*/
public static void releaseConnection(Statement st,Connection con){
if(null!=st){
try {
st.close();
} catch (SQLException e) {
LOGGER.error("class:DBUtils method:releaseConnection,Statement close SQLException");
}
}
if(null!=con){
try {
con.close();
} catch (SQLException e) {
LOGGER.error("class:DBUtils method:releaseConnection,Connection close SQLException");
}
}
}
}
在上面的源代码中我将数据源连接到一个test库上去,但其实我也可以:
dataSource.setUrl("jdbc:mysql://localhost:3306/")这样写,这样在后面的代码中,也可以访问test库只是需要在sql中多加一个test.表名,这样的方式去访问,现在对数据源这个概念有点迷惑了,数据源不是对应一个库,而是一个数据库服务,可以对应多个库,求解,希望高人指点,数据源的概念,不胜感激。