JDBC——獲取數據庫鏈接的5種方式


JDBC鏈接數據庫有五種方式,在這里推薦第五種

方式一:

public class ConnectionTest {
	//方式1:
	@Test
	public void testConnection1() throws SQLException {
		//獲取Driver的實現類對象
		Driver driver=new com.mysql.jdbc.Driver();
		//jdbc:mysql:協議
		//localhost:ip地址
		//3306:默認mysql端口號
		//test:test數據庫
		String url ="jdbc:mysql://localhost:3306/test";
		//Properties 將用戶名和密碼封裝在Properties里
		Properties info=new Properties();
		info.setProperty("user","root");
		info.setProperty("password", "123456");
		
		Connection conn=driver.connect(url, info);
		System.out.println(conn);
	}

方式二:

對方式一的迭代:在如下的程序中不會出現第三方的api,使得程序具有更好的移植性

@Test
	public void testConnection2() throws Exception {
		//1 獲取Driver實現類對象:使用反射
		Class clazz =Class.forName("com.mysql.jdbc.Driver");
		 Driver driver=(Driver) clazz.newInstance();
		 
		 //2 提供要鏈接的數據庫
		 String url ="jdbc:mysql://localhost:3306/test";
		 
		 //3 提供鏈接需要的用戶名和密碼
		 Properties info=new Properties();
		 info.setProperty("user","root");
		 info.setProperty("password", "123456");
		 
		 //4 獲取鏈接
		 Connection conn=driver.connect(url, info);
		 System.out.println(conn);
	}

方式三:

使用DriverManager替換Driver

@Test
	public void testConnection3() throws Exception {
		//1 獲取Driver實現類對象
		Class clazz =Class.forName("com.mysql.jdbc.Driver");
		Driver driver=(Driver) clazz.newInstance();
		
		//2 提供另外三個連接的基本信息
		String url="jdbc:mysql://localhost:3306/test";
		String user="root";
		String password="123456";
		
		//注冊驅動
		DriverManager.registerDriver(driver);
		
		//獲取鏈接
		Connection conn=DriverManager.getConnection(url, user, password);
		System.out.println(conn);
	}

方式四:

可以只是加載驅動,不用顯示的注冊驅動了

@Test
		public void testConnection4() throws Exception {
			//1提供另外三個連接的基本信息
			String url="jdbc:mysql://localhost:3306/test";
			String user="root";
			String password="123456";
						
			//2 加載Driver
			Class.forName("com.mysql.jdbc.Driver");
// Driver driver=(Driver) clazz.newInstance(); 
// //注冊驅動
// DriverManager.registerDriver(driver);
			/*為什么可以省略上述操作呢? * 在mysql的Driver實現類中,聲明了如下的操作 * statac{ * try{ * java.sql.DriverManager.registerDriver(new Driver()); * }catch(SQLException E){ * throw new RuntimeException("Can't register driver!"); * } * } * */
			
			
			//3 獲取鏈接
			Connection conn=DriverManager.getConnection(url, user, password);
			System.out.println(conn);
		}

方式五(推薦):

將數據庫鏈接需要的4個基本信息聲明在配置文件中,通過讀取配置文件的方式:獲取鏈接
優點
1、實現數據與代碼的分離 ,實現了解耦
2、如果要修改配置文件信息,可以避免程序重打包
第一步:在項目src下創建配置文件
在這里插入圖片描述
第二步:內容如圖所示
在這里插入圖片描述

@Test
		public void testConnection5() throws Exception {
			//1 讀取配置文件中4個基本信息
			InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
		
			Properties pros = new Properties();
			pros.load(is);
			
			String user=pros.getProperty("user");
			String password=pros.getProperty("password");
			String url=pros.getProperty("url");
			String driverClass=pros.getProperty("driverClass");
			
			//2 加載驅動
			Class.forName(driverClass);
			
			//3 獲取鏈接
			Connection conn = DriverManager.getConnection(url, user, password);
			System.out.println(conn);
		}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM