Java如何创建BasicDataSource对象?
本示例演示如何使用BasicDataSourceApacheCommonsDBCP类来创建数据库连接的基本要求。可以使用此类提供的某些属性方法来定义数据源的配置。基本属性是驱动程序类名,连接URL,用户名和密码。
数据源准备就绪后,我们可以通过调用getConnection()数据源的方法来获得连接。发生错误时,此方法可能会抛出SQLException。
package org.nhooo.example.commons.dbcp;
import org.apache.commons.dbcp2.BasicDataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BasicDataSourceExample {
public static void main(String[] args) throws Exception {
// 创建一个BasicDataSource并定义其属性
// 包括驱动程序类名称,JDBC URL,用户名
// 和密码。
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl("jdbc:mysql://localhost/nhooo");
dataSource.setUsername("root");
dataSource.setPassword("");
// 从数据源获取连接并执行一些操作
// 使用获得的连接进行数据库查询。
try (Connection conn = dataSource.getConnection();
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM authors")) {
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.println("Name: " + rs.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}我们可以简化上面的代码,这样我们就不必像在代码片段中的finally块那样手动关闭PreparedStatement和Connection。我们可以使用try-with-resources来自动关闭资源。
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=org/apache/commons/commons-dbcp2/2.6.0/commons-dbcp2-2.6.0.jar -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.6.0</version>
</dependency>
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>