Java實作關系型資料庫工具類JdbcUtils系列一 :JDBC連接關系型資料庫
- 一、JDBC體系結構
- 二、Java獲取資料庫連接方法1
- 三、Java獲取資料庫連接方法2
- 四、Java最常用獲取資料庫連接的方法
- 五、將資料庫資訊放到組態檔中
- 六、獲取連接工具類
一、JDBC體系結構
JDBC介面(API)包括兩個層次:
- 面向應用的API:Java API,抽象介面,供應用程式開發人員使用(連接資料庫,執行SQL陳述句,獲得結果),
- 面向資料庫的API:Java Driver API,供開發商開發資料庫驅動程式用,
二、Java獲取資料庫連接方法1
import org.junit.Test;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;
public class DriverTest {
/**
* 獲取mysql連接
*/
@Test
public void test() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
Driver driver = null;
//1.獲取驅動
String driverClassName = "com.mysql.cj.jdbc.Driver";
Class clazz = Class.forName(driverClassName);
driver =(Driver) clazz.newInstance();
//2.獲取連接
String url = "jdbc:mysql://10.10.128.100:3306/dw";
Properties props = new Properties();
props.setProperty("user","root");
props.setProperty("password","nio123456!A");
Connection conn = driver.connect(url,props);
System.out.println(conn);
conn.close();
}
}
三、Java獲取資料庫連接方法2
public class DriverTest {
@Test
public void test2() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
//1.注冊驅動
String driverClassName = "com.mysql.cj.jdbc.Driver";
Class clazz = Class.forName(driverClassName);
Driver driver = (Driver) clazz.newInstance();
DriverManager.registerDriver(driver);
//2.獲取連接
String url = "jdbc:mysql://10.10.128.100:3306/dw";
String user = "root";
String password = "nio123456!A";
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
conn.close();
}
}
輸出如下所示:

四、Java最常用獲取資料庫連接的方法
import org.junit.Test;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DriverTest {
@Test
public void test3() throws ClassNotFoundException, SQLException {
String driverClassName = "com.mysql.cj.jdbc.Driver";
String url = "jdbc:mysql://10.10.128.100:3306/dw";
String user = "root";
String password = "nio123456!A";
//1.加載驅動
Class.forName(driverClassName);
//2.獲取連接
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
}
五、將資料庫資訊放到組態檔中
application.properties
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://10.10.128.100:3306/dw?useUnicode=true&characterEncoding=utf-8
username: root
password: nio123456!A
import org.junit.Test;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DriverTest {
@Test
public void test4() throws IOException, ClassNotFoundException, SQLException {
Properties props = new Properties();
props.load(this.getClass().getClassLoader().getResourceAsStream("application.properties"));
String driverClassName = props.getProperty("driverClassName");
String url = props.getProperty("url");
String user = props.getProperty("username");
String password = props.getProperty("password");
Class.forName(driverClassName);
//2.獲取連接
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(conn);
}
}
- Class是當前類的Class物件,Class.getClassLoader()是獲取當前類的類加載器,
- getResourceAsStream()是獲取資源的輸入流,類加載器默認是從classPath路徑加載資源,
- 當使用Class.getClassLoader.getResourceAsStream()加載資源時,是從classPath路徑下進行加載,放在resources下的檔案加載時不能加(“/”),
六、獲取連接工具類
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class jdbcUtils {
/**
* 獲取連接
* @return
* @throws IOException
* @throws ClassNotFoundException
* @throws SQLException
*/
public static Connection getConnection() throws IOException, ClassNotFoundException, SQLException {
Properties props = new Properties();
props.load(JdbcUtils.class.getClassLoader().getResourceAsStream("application" +
".properties"));
String driverClassName = props.getProperty("driverClassName");
String url = props.getProperty("url");
String user = props.getProperty("username");
String password = props.getProperty("password");
Class.forName(driverClassName);
//2.獲取連接
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/379456.html
標籤:其他
上一篇:按照某列屬性拆分Excel檔案
下一篇:自學軟體測驗-白盒測驗筆記
