JDBC的全称是:Java Database Connectivity,即Java数据库连接。
JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。所以JDBC连接数据库最重要的是url和数据驱动。
一,URL:
oracle:
jdbc:oracle:thin:@host:port:SID
jdbc:oracle:thin:@//host:port/service_name
jdbc:oracle:thin:@TNSName (不常见)
mysql:
jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=UTF-8
sqlserver:
jdbc:sqlserver://127.0.0.1:1433;DatabaseName=数据库名
二,数据驱动:
oracle:
oracle.jdbc.driver.OracleDriver
mysql:
com.mysql.jdbc.Driver
sqlserver:
com.microsoft.sqlserver.jdbc.SQLServerDriver
三:JDBC连接与关闭代码
import java.sql.*;
public class JdbcConnect {
//连接oracle数据库
public static Connection getConnectionOracle() {
Connection conn = null;
try {
//端口默认1521
String url = "jdbc:oracle:thin:@//地址:1521/服务名";
String user = "用户名";
String password = "密码";
Class.forName("oracle.jdbc.driver.OracleDriver");//加载数据驱动
conn = DriverManager.getConnection(url, user, password);// 连接数据库
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载数据库驱动失败");
} catch (Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败");
}
return conn;
}
//连接mysql
public static Connection getConnectionMysql() {
Connection conn = null;
try {
String url = "jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=UTF-8&autoReconnect=true&useSSL=true";
String user = "root";
String password = "密码";
Class.forName("com.mysql.jdbc.Driver");//加载数据驱动
conn = DriverManager.getConnection(url, user, password);// 连接数据库
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载数据库驱动失败");
} catch (Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败");
}
return conn;
}
//连接sqlserver
public static Connection getConnectionSqlserver() {
Connection conn = null;
try {
String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=数据库名";
String user = "sa";
String password = "密码";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载数据驱动
conn = DriverManager.getConnection(url, user, password);// 连接数据库
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载数据库驱动失败");
} catch (Exception e) {
e.printStackTrace();
System.out.println("连接数据库失败");
}
return conn;
}
public static void close(Connection conn, Statement stmt, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}