數據庫連接第一種方式:
package com.JDBC;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCConnection1 {
//連接數據庫的URL
private String url="jdbc:mysql://localhost:3306/user";
private String user="root";
private String password="123456";
public Connection getConn() throws SQLException {
//創建驅動程序
Driver driver=new com.mysql.jdbc.Driver();
//設置用戶名和密碼
Properties props=new Properties();
props.setProperty("user", user);
props.setProperty("password", password);
Connection conn=driver.connect(url, props);
System.out.println(conn);
return conn;
}
}
連接成功
數據庫連接的第二種方式:
package com.JDBC;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCConnection2 {
//連接數據庫的URL
private String url="jdbc:mysql://localhost:3306/user";
private String user="root";
private String password="123456";
public Connection getConn() throws SQLException {
Driver driver=new com.mysql.jdbc.Driver();
//註冊驅動程序
DriverManager.registerDriver(driver);
Connection conn=DriverManager.getConnection(url,user,password);
System.out.println(conn);
return conn;
}
}
連接成功
數據庫連接的第三種方式:
package com.JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCConection3 {
private String url="jdbc:mysql://localhost:3306/user";
private String user="root";
private String password="123456";
private Connection conn=null;
public Connection getConn() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
return conn;
}
}
連接成功
數據庫連接的第四種方式:、
類路徑讀取JDBC的配置文件
不論是Java項目還是Web項目,使用類路徑讀取配置文件比較通用,且移植性好。
方式一 點.:代表Java命令運行的目錄(不推薦使用)
1. 在java項目下,.java命令的運行目錄從項目的根目錄開始
2. 在web項目下,.java命令的運行目錄從tomcat/bin目錄下開始
FileInputStream in=new FileInputStream("./src/db.propreties");
java項目換成web項目時,不具備通用性,所以不能用點.
方式二 斜槓/:表示classpath的根目錄(推薦使用)
1. 在java項目下,classpath的根目錄從bin目錄開始
2. 在web項目下,classpath的根目錄從WEB-INF/classes目錄開始
InputStream in=JDBCConnection4.class.getResourceAsStream("/db.properties");
在java項目中和web項目中都能一致的讀取到資源文件。具有通用性。但是隻能是讀,不能改,因爲是在web項目中tomcat/項目/WEB-INF/classes,更改了內容,再發佈會發生更新。
package com.JDBC;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCConnection4 {
//連接數據庫的URL
public static String url=null;
public static String user=null;
public static String password=null;
public static String driverName=null;
/**
* 靜態塊,只被執行一次,給予靜態變量賦值,在加載類時候調用
*/
static {
Properties props=new Properties();
InputStream in=JDBCConnection4.class.getResourceAsStream("/db.properties");
try {
props.load(in);
url=props.getProperty("url");
user=props.getProperty("user");
password=props.getProperty("password");
driverName=props.getProperty("driverName");
} catch (Exception e) {
e.printStackTrace();
System.out.println("加載失敗");
}
}
public Connection getConn() throws SQLException, ClassNotFoundException {
Class.forName(driverName);
Connection conn=DriverManager.getConnection(url,user,password);
System.out.println(conn);
return conn;
}
}
db.properties文件
driverName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/user
user=root
password=123456
連接成功