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>