JDBC获取数据库连接的5种方式实例
JDBC是Java语言访问关系数据库的标准规范,获取数据库连接是进行数据库操作的第一步,本文将为您介绍JDBC获取数据库连接的五种方式,并提供示例代码进行演示。
1. DriverManager获取连接
DriverManager是JDBC中用来管理驱动程序的基本服务,其通过DriverManager.getConnection()方法获取数据库连接,连接方式如下:
import java.sql.*;
public class ConnectDemo{
public static void main(String[] args){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance(); // 加载MySQL的JDBC驱动程序
String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库的url地址
String user = "root";
String password = "root";
conn = DriverManager.getConnection(url, user, password); // 获取数据库连接
// 下面可以进行数据库操作
...
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close(); // 关闭数据库连接
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
2. DataSource获取连接
DataSource是JDBC中获取数据源的方法,它是连接池的实现方式,提高了数据库连接的效率,其获取连接的方式如下:
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class ConnectDemo{
public static void main(String[] args){
Connection conn = null;
try {
BasicDataSource ds = new BasicDataSource();
ds.setUrl("jdbc:mysql://localhost:3306/mydatabase");
ds.setUsername("root");
ds.setPassword("root");
ds.setInitialSize(10);
ds.setMaxActive(100);
ds.setMaxIdle(30);
ds.setMinIdle(10);
ds.setMaxWait(5000);
conn = ds.getConnection(); // 获取数据库连接
// 下面可以进行数据库操作
...
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close(); // 关闭数据库连接
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
3. DriverManager获取连接(通过Properties方式)
另一种获取连接的方式是通过Properties方式,其使用DriverManager.getConnection(String url, Properties info)方法,以Properties方式定义数据库连接参数,获取连接的方式如下:
import java.sql.*;
import java.util.Properties;
public class ConnectDemo{
public static void main(String[] args){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance(); // 加载MySQL的JDBC驱动程序
String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库的url地址
Properties info = new Properties();
info.setProperty("user", "root");
info.setProperty("password", "root");
info.setProperty("useSSL", "false"); // 关闭SSL加密
conn = DriverManager.getConnection(url, info); // 获取数据库连接
// 下面可以进行数据库操作
...
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close(); // 关闭数据库连接
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
4. DriverManager获取连接(通过环境变量方式)
通过设置系统环境变量JAVA_OPTS来指定数据库连接参数,获取连接的方式如下:
import java.sql.*;
public class ConnectDemo{
public static void main(String[] args){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance(); // 加载MySQL的JDBC驱动程序
String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库的url地址
String user = System.getProperty("USER");
String password = System.getenv("PASSWORD");
conn = DriverManager.getConnection(url, user, password); // 获取数据库连接
// 下面可以进行数据库操作
...
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close(); // 关闭数据库连接
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
5. JNDI获取连接
JNDI(Java Naming and Directory Interface)是一种在Java应用程序中访问命名和目录服务的API,其通过JNDI数据源获取连接,获取连接的方式如下:
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class ConnectDemo{
public static void main(String[] args){
Connection conn = null;
try {
// 获取JNDI上下文
Context ctx = new InitialContext();
// 获取数据源
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mydatasource");
// 获取连接
conn = ds.getConnection();
// 下面可以进行数据库操作
...
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
conn.close(); // 关闭数据库连接
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
示例代码中的url、user、password、mydatabase、mydatasource等参数,需要根据实际情况修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC获取数据库连接的5种方式实例 - Python技术站