教你用eclipse連接mysql數(shù)據(jù)庫(kù)
前言
由于總是出錯(cuò),記錄一下連接MySQL數(shù)據(jù)庫(kù)的過(guò)程。
連接過(guò)程
1.下載MySQL并安裝,這里的版本是8.0.18
2.下載MySQL的jdbc,下載后解壓,個(gè)人將其保存在MySQL目錄下,方便查找



3.連接數(shù)據(jù)庫(kù)
(1)eclipse中選擇Window-preferences-java-Build Path-User Libraries

(2)點(diǎn)擊右側(cè)的new按鈕,

(3)在這里輸入jdbc,選中對(duì)勾,點(diǎn)擊ok

(4)回到上一級(jí)界面,點(diǎn)擊Add External JARs,打開(kāi)到你的jdbc存放的目錄,打開(kāi)-ok。

(5)接下來(lái)是在項(xiàng)目中導(dǎo)入jar包,項(xiàng)目右鍵-Build Path-Configure Build Path

(6)點(diǎn)擊右側(cè)Add Library… -User Library-Next。打上對(duì)勾點(diǎn)擊finish

(7)回到上一級(jí)界面就可以看到你添加的jdbc,點(diǎn)擊Apply再點(diǎn)擊ok。

(8)這樣在你的項(xiàng)目下就可以看到你導(dǎo)入的jdbc了

4.在項(xiàng)目中Java resources下創(chuàng)建一個(gè)新的包linkMysql,里面新建一個(gè)類(lèi)Demo
代碼如下:
package linkMysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo {
// 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng) com.mysql.jdbc.Driver
private static String dbdriver = "com.mysql.cj.jdbc.Driver"; //因?yàn)镸ySQL是8.0版本,所以需要加上cj,如果是5.0版本就不用
// 獲取mysql連接地址
private static String dburl = "jdbc:mysql://127.0.0.1:3306/cmxDatabaseName?&useSSL=false&serverTimezone=UTC";
//這里的&serverTimezone=UTC很重要,之前就是因?yàn)檫@個(gè)出錯(cuò)
// 數(shù)據(jù)名稱(chēng)
private static String username = "root";
// 數(shù)據(jù)庫(kù)密碼
private static String userpassword = "123456";
// 獲取一個(gè)數(shù)據(jù)的連接
public static Connection conn = null;
// 獲取連接的一個(gè)狀態(tài)
//下面是一個(gè)例子,其中database1是數(shù)據(jù)庫(kù)名,后面是一條查詢(xún)語(yǔ)句
public static void main(String[] args) throws SQLException {
List<List<Object>> x = getData("database1",
"select * from students");
System.out.println(x);
}
/**
* 獲取數(shù)據(jù)庫(kù)連接
*
* @param myProjName
* @return
*/
private static Connection getConn(String myProjName) {
Connection conn = null;
try {
Class.forName(dbdriver);
String myjdbcUrl = dburl.replace("cmxDatabaseName", myProjName);
conn = DriverManager.getConnection(myjdbcUrl, username, userpassword);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 關(guān)閉數(shù)據(jù)庫(kù)連接
*
* @param rs
* @param ps
* @param conn
*/
private static void closeAll(ResultSet rs, PreparedStatement ps,
Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 查表,返回行的列表,每個(gè)列表中包含列的列表。
*
* @param ProjName
* @param sql
* @return
*/
public static List<List<Object>> getData(String ProjName, String sql) {
Connection conn = getConn(ProjName);
PreparedStatement ps = null;
List<List<Object>> list = new ArrayList<List<Object>>();
ResultSet rs = null;
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
List<Object> lst = new ArrayList<Object>();
for (int i = 1; i <= columnCount; ++i) {
lst.add(rs.getObject(i) == null ? "" : rs.getObject(i));
}
list.add(lst);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeAll(rs, ps, conn);
}
return list;
}
}
5.將該類(lèi)以Java application運(yùn)行,就可以在控制臺(tái)看見(jiàn)students表中的全部信息

到此這篇關(guān)于教你用eclipse連接mysql數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)eclipse連接mysql數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL group by去重復(fù)且按照其他字段排序的操作
這篇文章主要介紹了SQL group by去重復(fù)且按照其他字段排序的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
MySQL按時(shí)間進(jìn)行表分區(qū)的方法代碼
本文介紹如何在MySQL中創(chuàng)建按月份分區(qū)的表,并通過(guò)修改配置文件或使用數(shù)據(jù)庫(kù)事件來(lái)實(shí)現(xiàn)自動(dòng)分區(qū),文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-09-09
Mysql賬號(hào)管理與引擎相關(guān)功能實(shí)現(xiàn)流程
Mysql中的每一種技術(shù)都使用不同的存儲(chǔ)機(jī)制、索引技巧、鎖定水平、并且最終提供廣泛的不同功能和能力。通過(guò)選擇不同的技術(shù),你能夠獲得額外的速度或者功能,從而改善應(yīng)用的整體功能。這些不同的技術(shù)以及配套的相關(guān)功能在MySQL中被稱(chēng)作存儲(chǔ)引擎2022-10-10
mysql 顯示SQL語(yǔ)句執(zhí)行時(shí)間的代碼
查看 MySQL 語(yǔ)法 詳細(xì)執(zhí)行時(shí)間 與 CPU/記憶體使用量: MySQL Query Profiler2009-08-08
使用Mycat-eye管理Mycat數(shù)據(jù)庫(kù)服務(wù)的操作
MyCat是一個(gè)開(kāi)源的分布式數(shù)據(jù)庫(kù)系統(tǒng),是一個(gè)實(shí)現(xiàn)了MySQL協(xié)議的服務(wù)器,前端用戶(hù)可以把它看作是一個(gè)數(shù)據(jù)庫(kù)代理,用MySQL客戶(hù)端工具和命令行訪(fǎng)問(wèn),本文給大家介紹了使用Mycat-eye管理Mycat數(shù)據(jù)庫(kù)服務(wù)的操作,需要的朋友可以參考下2024-04-04
MySQL?到Oracle?實(shí)時(shí)數(shù)據(jù)同步
這篇文章主要介紹了MySQL?到Oracle?實(shí)時(shí)數(shù)據(jù)同步,本次?MySQL?數(shù)據(jù)實(shí)時(shí)同步到?Oracle大概只花了幾分鐘就完成。使用的工具是Tapdata?Cloud?,這個(gè)工具是永久免費(fèi)的,需要的朋友可以參考一下2022-01-01
MySql .frm數(shù)據(jù)庫(kù)文件導(dǎo)入的問(wèn)題
手頭有.frm 文件,怎樣導(dǎo)入數(shù)據(jù)庫(kù)???2009-07-07

