下面代碼是使用jdbc直接鏈接mysql的操作,鏈接方式與SQL?SERVER類似,區(qū)別在于加載的驅(qū)動(dòng)不同,url的設(shè)置也有點(diǎn)區(qū)別,用戶名、密碼、端口號這些設(shè)置都類似
成都創(chuàng)新互聯(lián)主營余江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),余江h(huán)5小程序定制開發(fā)搭建,余江網(wǎng)站營銷推廣歡迎余江等地區(qū)企業(yè)咨詢
執(zhí)行腳本返回的結(jié)果,可以看出java成功鏈接上mysql并獲取到返回值
mysql-connector-java-5.1.26-bin.jar是java鏈接mysql使用的jar包,與SQL?SERVER鏈接也有專門的jar包,jar包中包含了java鏈接mysql所用到的函數(shù)驅(qū)動(dòng)等等,所有的jar包都是放到web工程lib目錄下
如果工程是整合在ssh下,一般情況下都會(huì)有一個(gè)properties文件,該文件配置了數(shù)據(jù)庫鏈接常用的命令,下圖是mysql中的配置
使用spring框架下進(jìn)行的測試,結(jié)果可以成功執(zhí)行,其實(shí)無論是sql?server還是mysql還是其他的數(shù)據(jù)庫,基本功能都一樣,只是語法結(jié)構(gòu)有所區(qū)別,java在調(diào)用的過程中大部分功能只要切換了數(shù)據(jù)庫鏈接命令就可以公用,如果系統(tǒng)架構(gòu)設(shè)計(jì)的足夠好,當(dāng)我們切換數(shù)據(jù)庫的時(shí)候,應(yīng)用程序是不用調(diào)整就能兼容的
1,安裝JDK
2,安裝eclipse (IDE), java集成開發(fā)環(huán)境,當(dāng)然也有其他,讀者自行選擇.
3,安裝JDBC,數(shù)據(jù)庫驅(qū)動(dòng),下載地址截至發(fā)博時(shí)最新驅(qū)動(dòng).
把下載好的文件解壓到任意目錄,這里我為了便于管理,放在和JDK一起的目錄當(dāng)中,如圖:
之后把mysql-connetor-java-5.1.22文件夾下的mysql-connector-java-5.1.22-bin.jar 添加到CLASSPATH里面
找到CLASSPATH的方式為 “我的電腦”- “屬性” - “高級” - “環(huán)境變量”
之后如圖編輯:
一路確定即可.
4,我們來測試一下.
一,登錄數(shù)據(jù)庫,格式為 mysql -u(用戶名) -p(密碼); 我的是 mysql -uroot -pll;
從這里可以看出來我是以超級管理員登錄數(shù)據(jù)庫的,密碼是ll. 使用命令show database; 則窗口列出了所有的當(dāng)前的數(shù)據(jù)庫,
其實(shí),這里的test數(shù)據(jù)庫是本人之前建的空數(shù)據(jù)庫,里面什么都沒有,通過use test;命令. 我們就進(jìn)入了數(shù)據(jù)庫test,然后用命令 show tables; 則列出當(dāng)前數(shù)據(jù)庫所有的表;
如果你的沒有,那么用命令 create database test; 來建一個(gè),以便于測試.
現(xiàn)在我要為我的數(shù)據(jù)庫建表,并為其導(dǎo)入數(shù)據(jù).我們這里建一個(gè)學(xué)生表,最易最后一行沒有逗號.
1 CREATE TABLE student
2 (
3 StudentNo VARCHAR(20) PRIMARY KEY,
4 Name VARCHAR(10),
5 Phone VARCHAR(20),
6 Age int
7 );
這是用show tables;就可以看見student了.
好的為它導(dǎo)入數(shù)據(jù).首先建一個(gè)txt文件,文件的內(nèi)容如圖,每一項(xiàng)內(nèi)容,與表中的格式相對應(yīng),中間用tab鍵隔開.這里本人取名為student.txt, 且處在F盤根目錄下.
1 11111111 東邪 11111001 19
2 22222222 西毒 22222002 20
3 33333333 南帝 33333003 30
4 44444444 被蓋 44444404 40
5 55555555 中神通 55555505 50
使用命令如下命令將建好的txt文件導(dǎo)入表中
1 load data infile 'F:\student.txt' into table student;
使用命令查看表中的內(nèi)容
1 select * from student;
成功建好表了!現(xiàn)在開始寫我們的java文件.看看能不能喝數(shù)據(jù)庫進(jìn)行連接.
5,java連接數(shù)據(jù)庫.
首先是我們的java源文件
1 import java.sql.*;
2 public class JavaMysql
3 {
4 public static void main(String[] args) throws Exception
5 {
6 String driver="com.mysql.jdbc.Driver";
7 String url="jdbc:mysql://127.0.0.1:3306/test";
8 Class.forName(driver);
9 Connection connecter=DriverManager.getConnection(url,"root","ll");
10 if(!connecter.isClosed()) System.out.println("success in getConnetion");
11 Statement statement=connecter.createStatement();
12 ResultSet rs=statement.executeQuery("select * from student");
13 System.out.println("編號"+"\t"+"名字"+"Phone"+"\t"+"Age");
14 String No=null,Name=null,Phone=null,Age=null;
15 while(rs.next())
16 {
17 No=rs.getString("studentNo");
18 Name=rs.getString("Name");
19 Phone=rs.getString("Phone");
20 Age=rs.getString("Age");
21 System.out.println(No+"\t"+Name+"\t"+Phone+"\t"+Age);
22 }
23 }
24
25 }
執(zhí)行:
首先你得有一個(gè)jdbc的架包
然后
import?java.sql.Connection;
import?java.sql.DriverManager;
import?java.sql.PreparedStatement;
import?java.sql.SQLException;
public?class?Util?{
public?static?Connection?getConnection(){
Connection?con?=?null;
String?user?=?"root";//數(shù)據(jù)庫登陸用戶名
String?password?=?"root";//數(shù)據(jù)庫登陸密碼
String?url?=?"jdbc:mysql://localhost:3306/password";//數(shù)據(jù)庫庫名
String?driver?=?"com.mysql.jdbc.Driver";
try{
Class.forName(driver);
con?=?DriverManager.getConnection(url,user,password);
}catch(Exception?e){
}
return?con;
}
public?static?void?main(String[]?args)?{
Connection?con?=?getConnection();
String?sql?=?"insert?into?stu?values(null,\'hello\')";
PreparedStatement?p?=?null;
try{
p?=?con.prepareStatement(sql);
p.executeUpdate();
}catch(SQLException?e){
e.printStackTrace();
}finally{
try{
p.close();
con.close();
}catch(SQLException?e){
e.printStackTrace();
}
}
}
}
Java要連接數(shù)據(jù)庫,那么首先你必須安裝mysql數(shù)據(jù)庫。
安裝好mysql之后,安裝JDK了。
安裝好JDK之后,就是安裝Eclipse了,要支持JDK版本,Eclipse安裝的時(shí)候會(huì)自動(dòng)去找JDK安裝位置的,解壓版的Eclipse,就要配置eclipse.ini文件了,將對應(yīng)的JDK配置好,這些已經(jīng)準(zhǔn)備就緒的時(shí)候,就到mysql中創(chuàng)建數(shù)據(jù)庫和表。
先創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE SCUTCS;
接著,創(chuàng)建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然后插入數(shù)據(jù),可以用SQL語句insert into 表名 values?????????? (value1, value2, ...);
編寫.java文件來演示一下如何訪問MySQL數(shù)據(jù)庫。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驅(qū)動(dòng)程序名?????????? String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問的數(shù)據(jù)庫名scutcs?????????? String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時(shí)的用戶名?????????? String user = "root";????????????? // MySQL配置時(shí)的密碼?????????? String password = "root";
try {???????????? // 加載驅(qū)動(dòng)程序??????????? Class.forName(driver);
// 連續(xù)數(shù)據(jù)庫??????????? Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())????????????? System.out.println("Succeeded connecting to the Database!");
// statement用來執(zhí)行SQL語句??????????? Statement statement = conn.createStatement();
// 要執(zhí)行的SQL語句??????????? String sql = "select * from student";
// 結(jié)果集??????????? ResultSet rs = statement.executeQuery(sql);
while(rs.next())????????????? // 選擇sname這列數(shù)據(jù)???????????? name = rs.getString("sname
// 輸出結(jié)果???????????? System.out.println(rs.getString("sno") + "\t" + name);??????????? }
rs.close();??????????? conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");???????????? e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}?}?}