利用eclipse連接數(shù)據(jù)庫
第一步:先下載mysql
網(wǎng)址是:https://dev.mysql.com/downloads/installer/
?
第二步:下載完成后就可以安裝了
1.雙擊下載的mysql-installer-web-community-5.7.17.0.msi文件
進行安裝。
2.安裝過后打開cmd輸入net srart mysql57
?
第三步:下載jdbc
1.這是下載jdbc的網(wǎng)址:https://www.mysql.com/products/connector/
?
2.
?
第四步:下載成功后這里就要使用eclipse連接數(shù)據(jù)庫了
1.Window-preferences-java-Build Path-User Libraries
?
2.點擊右側(cè)的new按鈕,
?
3.在這里輸入jdbc,選中對勾,點擊ok
?
4.回到上一級界面,點擊Add External JARs,打開到你的jdbc存放的目錄,打開-ok。
?
5.接下來是項目導(dǎo)入jar包,項目右鍵-Build Path-Configure Build Path
?
6.點擊右側(cè)Add Library… -User Library-Next。打上對勾點擊finish
?
7.回到上一級界面就可以看到你添加的jdbc,點擊Apply再點擊ok。
?
8.這樣在你的項目下就可以看到你導(dǎo)入的jdbc了
?
第五步就是利用cmd打開mysql創(chuàng)建一個表
1.打開cmd輸入mysql -uroot -p123456
?
2.然后再輸入show databases;
這里記著一定要加分號;英文狀態(tài)下的分號。
?
3.創(chuàng)建一個數(shù)據(jù)庫
create database user_cmx;
創(chuàng)建一個表
use user_cmx;
為數(shù)據(jù)庫表添加字段
create table user(name varchar(20),age varchar(10));
?
第六步:創(chuàng)建完成后,我們就可以使用eclipse連接數(shù)據(jù)庫了。
最后一步就是我們的代碼了
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ù)庫驅(qū)動 com.mysql.jdbc.Driver
private static String dbdriver = “com.mysql.jdbc.Driver”;
// 獲取mysql連接地址
private static String dburl = “jdbc:mysql://127.0.0.1:3306/cmxDatabaseName?&useSSL=false”;
// 數(shù)據(jù)名稱
private static String username = “root”;
// 數(shù)據(jù)庫密碼
private static String userpassword = “123456”;
// 獲取一個數(shù)據(jù)的連接
public static Connection conn = null;
// 獲取連接的一個狀態(tài)
public static void main(String[] args) throws SQLException {
List《List《Object》》 x = getData(“user_cmx”,
“select name,age from user”);
System.out.println(“x=” + x);
}
/**
* 獲取數(shù)據(jù)庫連接
*
* @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ù)庫連接
*
* @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();
}
}
/**
* 查表,返回行的列表,每個列表中包含列的列表。
*
* @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;
}
}
這里的dbdriver和dburl一定要寫正確。如果驅(qū)動名稱dbdriver寫錯會報一個異常,加入我少寫了一個單詞字母,異常如下
?
如果我的dburl出錯了,會拋出以下異常
?
如果是dburl的最后“?&useSSL=false”沒有寫的話會報出一個警告,如下:
?
警告全部內(nèi)容:
Sun Feb 05 17:15:15 CST 2017 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’。 You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
好了,到這里我們的數(shù)據(jù)庫就連接成功了。
評論
查看更多