溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

發(fā)布時間:2020-11-09 16:47:40 來源:億速云 閱讀:238 作者:Leah 欄目:開發(fā)技術(shù)

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

該教程是面向那些不知道如何通過java連接mysql數(shù)據(jù)庫的新手,所以該教程用的方法不是最優(yōu)的方法,但求是最好理解的方法。

需要的工具:

eclipse、mysql、mysql的驅(qū)動
mysql驅(qū)動鏈接:mysql-connector-java-5.1.7.zip
如果該鏈接下載不了的話,可以私信我

1.在eclipse中創(chuàng)建一個工程:jdbc

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

2.在工程下創(chuàng)建lib文件夾

鼠標右鍵點擊jdbc工程 ——> New ——>Folder、
文件夾命名為lib

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

3.導入mysql驅(qū)動

解壓上述連接的壓縮包,找到:mysql-connector-java-5.1.7-bin.jar文件,復制到jdbc工程下的lib文件夾里

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

然后鼠標右鍵點擊該驅(qū)動——>Build Path——>Add to Build Path,最終顯示如下圖,表示你的驅(qū)動已經(jīng)導入成功啦

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

4.在src下創(chuàng)建一個包,包內(nèi)創(chuàng)建一個class類

鼠標右鍵點擊src → New → package,包名自己任意取
在該包下創(chuàng)建一個class類,名字為:ConnectionTest

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

5.在ConnectionTest里的代碼如下

注:該方法并非連接MySQL的最佳方法

package com.shaocoder.connection;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionTest {
	public static void main(String[] args) {
		Connection conn = null;
		try {
			//1.數(shù)據(jù)庫連接的4個基本要素
			//①JDBC URL用于標識一個被注冊的驅(qū)動程序,驅(qū)動程序管理器通過這個URL選擇正確的驅(qū)動程序,從而建立到數(shù)據(jù)庫的連接;
			//jdbc:表示URL中的協(xié)議
			//mysql:子協(xié)議,用于標識mysql數(shù)據(jù)庫驅(qū)動程序
			//localhost:本機的IP地址
			//3306:端口號
			//test:表示訪問test數(shù)據(jù)庫
			String url = "jdbc:mysql://localhost:3306/test";
			//user:登錄數(shù)據(jù)庫的用戶名
			String user = "root";
			//password:用戶名對應的密碼,這些都是自己之前設(shè)定的
			String password = "123456";
			//mySql的驅(qū)動:com.mysql.jdbc.Driver
			String driverName = "com.mysql.jdbc.Driver";
			
			//2.實例化Driver
			Class clazz = Class.forName(driverName);
			Driver driver = (Driver) clazz.newInstance();
			
			//3.通過DriverManager來注冊驅(qū)動
			DriverManager.registerDriver(driver);
			//4.通過DriverManager的getConnection方法,獲取Connection類的對象
			conn = DriverManager.getConnection(url, user, password);
			//5.打印出conn對象
			System.out.println(conn);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				//當conn不為空時
				if(conn != null) 
					//關(guān)閉conn資源
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

點擊運行,運行結(jié)果如下代表連接mysql數(shù)據(jù)庫成功

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

上述方法的最優(yōu)寫法

一、創(chuàng)建jdbc.properties文件
鼠標右鍵點擊src → New → File,文件命名為jdbc.properties,點擊finish

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

二、在jdbc.properties文件里寫上連接數(shù)據(jù)庫必備的4個基本信息(注意:等號兩邊不能加空格)

mysql數(shù)據(jù)庫如何實現(xiàn)與Java項目連接

三、具體實現(xiàn)代碼如下
運行程序,能打印出conn對象的具體信息,則成功連接數(shù)據(jù)庫

package com.shaocoder.connection;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class ConnectionTest {

	public static void main(String args[]) {
		InputStream is = null;
		Connection conn = null;
		try {
			//通過類加載器訪問jdbc.properties文件,轉(zhuǎn)化為輸入流
			is = ClassLoader.getSystemClassLoader().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");
			
			Class.forName(driverClass);
			
			conn = DriverManager.getConnection(url, user, password);
			
			System.out.println(conn);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			
			try {
				if(conn != null)
					conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			try {
				if(is != null)
					is.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
				
		}
		
	}
}

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI