當前位置:首頁 » 操作系統 » javalinuxmysql資料庫

javalinuxmysql資料庫

發布時間: 2024-01-26 18:20:29

『壹』 如何連接java和mysql資料庫

當然,首先要安裝有JDK(一般是JDK1.5.X)。然後安裝MySQL,這些都比較簡單,具體過程就不說了。配置好這兩個環境後,下載JDBC驅動mysql-connector-java-5.0.5.zip(這個是最新版的)。然後將其解壓縮到任一目錄。我是解壓到D盤,然後將其目錄下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具體如下:「我的電腦」->「屬性」->「高級罩賀答」->「環境變數」,在系統變數那裡編輯classpath,將D:mysql-connector-java-5.0.5mysql-connector-java-5.0.5-bin.jar加到最後,在加這個字元串前要加「;」,以與前一個classpath區分開。然後確定。

環境配置好了,很簡單。現在,先配置MySQL,設其用戶名為「root」,密碼為「root」。在命令行或用一個SQL的前端軟體創建Database。

我是用SQLyog的前端軟體來創建Database的。

先創建資料庫:

CREATEDATABASESCUTCS;

接著,創建表:

CREATETABLESTUDENT

(

SNOCHAR(7)NOTNULL,SNAMEVARCHAR(8)NOTNULL,SEXCHAR(2)NOTNULL,BDATEDATENOTNULL,HEIGHTDEC(5,2)DEFAULT000.00,PRIMARYKEY(SNO)

);

然後插入數據,可以用SQL語句insertinto<表名>values(value1,value2,...);

也可以用SQLyog來操作

好了,創建好了。

下面,我們來編寫.java文件來演示一下如何訪問MySQL資料庫。

importjava.sql.*;

publicclassJDBCTest{

publicstaticvoidmain(String[]args){

//驅動程序名

Stringdriver="com.mysql.jdbc.Driver";

//URL指向要訪問的資料庫名scutcs

Stringurl="jdbc:mysql://127.0.0.1:3306/scutcs";

//MySQL配置時的用戶名

Stringuser="root";

//MySQL配置時的密碼

Stringpassword="root";

try{

//載入驅動程序

Class.forName(driver);

//連續資料庫

Connectionconn=.(url,user,password);

if(!conn.isClosed())

System.out.println("!");

//statement用來執行SQL語句

Statementstatement=conn.();

//要執行的SQL語句

Stringsql="select*fromstudent";

//結果集

ResultSetrs=statement.(sql);

System.out.println("-----------------");

System.out.println("執行結果如下所示:");

System.out.println("-----------------");

System.out.println("學號"" ""姓名");

System.out.println("-----------------");

Stringname=null;

while(rs.next()){

//選擇sname這列數據

name=rs.getString("sname");

/*何問起hovertree*/

//首先使拍派用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。

//然後使用GB2312字元集解碼指定的位元組數組物慧

name=newString(name.getBytes("ISO-8859-1"),"GB2312");

//輸出結果

System.out.println(rs.getString("sno")" "name);

}

rs.close();

『貳』 java如何訪問資料庫(java訪問mysql資料庫)

Java可以使用JDBC訪問資料庫,也可以使用各類ORM框架訪問資料庫,但這些框架最終還是通過JDBC訪問資料庫,它們只是封裝了資料庫操作,而使得開發者可以減少這部分消耗。因此,本文只講解JDBC訪問方式。

JDBC訪問一般分為如下流程:

1、載入JDBC驅動程序:

在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),這通過java.lang.Class類的靜態方法forName(StringclassName)實現。

例如:

try{

//載入MySql的驅動類

Class.forName("com.mysql.jdbc.Driver");

}catch(e){

System.out.println("找不到驅動程序類,載入驅動失敗!");

e.();

}

成功載入後,會將Driver類的實例注冊到類中。

2、提供JDBC連接的URL

連接URL定義了連接資料庫時的協議、子協議、數據源標識。

書寫形式:協議:子協議:數據源標識

協議:在JDBC中總是以jdbc開始

子協議:是橋連接的驅動程序或是資料庫管理系統名稱。

數據源標識:標記找到資料庫來源的地址與連接埠。

例如:(MySql的連接URL)

jdbc:mysql://localhost:3306/test?useUnicode=true&=gbk;

useUnicode=true:表示使用Unicode字元集。如果設置為

gb2312或GBK,本參數必須設置為true。=gbk:字元編碼方式。

3、創建資料庫的連接

要連接資料庫,需要向java.sql.請求並獲得Connection對象,該對象就代表一個資料庫的連接。

使用的(Stringurl,Stringusername,Stringpassword)方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。

例如:

//連接MySql資料庫,用戶名和密碼都是root

Stringurl="jdbc:mysql://localhost:3306/test";

Stringusername="root";

Stringpassword="root";

try{

Connectioncon=

.(url,username,password);

}catch(se){

System.out.println("資料庫連接失敗!");

se.();

}

4、創建一個Statement

要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過實例實現。

3、執行資料庫存儲過程。通常通過實例實現。

具體的實現方式:

Statementstmt=con.();

PreparedStatementpstmt=con.prepareStatement(sql);

CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");

5、執行慧轎SQL語句

Statement介面提供了三種執行SQL語句的方法:executeQuery、executeUpdate和execute

1、ResultSetexecuteQuery(StringsqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。

2、intexecuteUpdate(StringsqlString):用於執行INSERT、UPDATE或DELETE語句以及SQLDDL語句,如:CREATETABLE和DROPTABLE等

3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。

具芹尺體實現的代碼:

ResultSetrs=stmt.executeQuery("SELECT*FROM...");

introws=stmt.executeUpdate("INSERTINTO...");

booleanflag=stmt.execute(Stringsql);

6、處理結果

兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提嫌碧高供了對這些行中數據的訪問。

使用結果集(ResultSet)對象的訪問方法獲取數據:

while(rs.next()){

Stringname=rs.getString("name");

Stringpass=rs.getString(1);//此方法比較高效(列是從左到右編號的,並且從列1開始)

}

7、關閉JDBC對象

操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:

1、關閉記錄集

2、關閉聲明

3、關閉連接對象

if(rs!=null){//關閉記錄集

try{

rs.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(stmt!=null){//關閉聲明

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

if(conn!=null){//關閉連接對象

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

『叄』 Ubuntu下Java程序如何連接MySQL資料庫

linux ubuntu下用C連MySQL接數據mysql資料庫的步驟如下:
1.安裝mysql-server,在Ubuntu10.04下安裝mysql-server-5.1,會自動安裝mysql-client_5.1
sudo apt-get install mysql-server-5.1
2.C APIs包含在mysqlclient庫文件中與MySQL的源代碼一塊發行,用於連接到資料庫和執行資料庫查詢,因此需要安裝libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
假定已安裝成功,相關文件如下:
頭文件在/usr/include/mysql目錄下;
庫文件在/usr/lib/mysql和/usr/lib目錄下
3.啟動和關閉mysql
啟動mysql:sudo start mysql
關閉mysql:sudo stop mysql
使用ps aux |grep mysql 查看mysql啟動狀態
ps命令用於查看當前系統中運行的進程信息,命令格式:ps [選項]
常見參數:
-a 顯示系統中所有進程,包括其他用戶進程
-e 顯示所有進程信息
-f 顯示進程的所有信息
-l 顯示長格式顯示進程的信息
-r 只顯示正在運行的程序
-u 以用戶的格式顯示進程信息
-x 顯示所有終端上的進程信息
最常用的方法是ps aux,然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。例如前面使用的ps aux |grep mysql
4.鏈接庫時需要庫文件,有靜態庫文件,也有動態庫文件,也有名字相同的靜態庫文件和動態庫文件,如何區分:
.o,.a,.so,.lo,.la後綴文件含義
.o: 編譯的目標文件
.a: 靜態庫,其實就是把若干o文件打了個包
.so: 動態鏈接庫(共享庫)
.lo: 使用libtool編譯出的目標文件,其實就是在o文件中添加了一些信息
.la: 使用libtool編譯出的庫文件,其實是個文本文件,記錄同名動態庫和靜態庫的相關信息
la只有在用libtool編譯應用程序或庫時才用,即開發者只指明la文件,至於最終鏈接a還是so由libtool決定,不使用libtool的小程序用不上la。
5.連接MySql
a、連接到本機上的MYSQL:
首先打開終端窗口,再鍵入命令mysql -u root -p,回車後提示你輸密碼,如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入
到MYSQL中了,MYSQL的提示符是:mysql>
b.修改密碼,格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例1:給root加個密碼ab12。首先打開終端窗口,然後鍵入以下命令:mysqladmin -uroot password ab12.(註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了)。
例2:再將root的密碼改為djg345。 mysqladmin -uroot -pab12 password djg345 (注:u與root可以不用加空格,其它也一樣)。
c、退出MYSQL命令: exit
6.增加新用戶(注意:和上面不同,下面的因為是MYSQL環境中的命令,所以後面都帶一個分號作為命令結束符)
格式:grant select on 資料庫.* to 用戶名@登錄主機 identified by "密碼"
例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。
首先用以root用戶連入MYSQL,然後鍵入以下命令:grant select,insert,update,delete privileges on *.* to "test1"@"%" Identified by "abc" with grant option; 但例1增加的用戶是十分危險的,
你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的mysql資料庫並對你的數據可以為所欲為了,解決辦法見例2。
例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那台主機),
這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by 「abc」;如果你不想test2有密碼,可再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by 「」;
例3、遠程登錄:
a、默認情況下Mysql只允許本地登錄,所以需要修改配置文件將地址綁定給注釋掉:
vi /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 <---注釋掉這一行就可以遠程登錄了

b、允許遠程登錄後,還應設置遠程登錄許可權:
mysql>grant all privileges on *.* to "root"@"%" identified by "123456" with grant option;
c、使修改生效:
mysql> flush privileges;
d、在另一台機器上遠程登錄(mysql所在機器地址:192.168.0.30):
mysql -h192.168.0.30 -uroot -p123456
e、如果仍不能登錄,就把遠程mysql關閉,之後重啟
sudo stop mysql
sudo start mysql
7.顯示命令:(註:下面來看看MYSQL中有關資料庫方面的操作。注意:必須首先登錄到MYSQL中,以下操作都是在MYSQL的提示符下進行的,而且每個命令以分號結束)。
a、顯示資料庫列表:show databases; 剛開始時才兩個資料庫:mysql和test。mysql庫很重要它裡面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。
b、顯示庫中的數據表:use mysql; show tables;
c、顯示數據表的結構:describe 表名;
d、建庫: create database 庫名;
e、建表: use 庫名; create table 表名 (欄位設定列表);
f、刪庫和刪表: drop database 庫名; drop table 表名;
g、將表中記錄清空:delete from 表名;
h、顯示表中的記錄:select * from 表名;

熱點內容
linuxpython2與3共存 發布:2024-11-28 21:43:41 瀏覽:904
短視頻平台上傳視頻規范 發布:2024-11-28 21:41:22 瀏覽:553
c語言統計素數的個數 發布:2024-11-28 21:38:24 瀏覽:837
我的世界伺服器管理員沒了怎麼辦 發布:2024-11-28 21:37:22 瀏覽:183
請求分段存儲 發布:2024-11-28 21:23:20 瀏覽:458
zip偽加密 發布:2024-11-28 21:23:17 瀏覽:226
linuxshell路徑 發布:2024-11-28 21:13:05 瀏覽:994
存儲為web所用格式切片 發布:2024-11-28 21:11:23 瀏覽:452
伺服器電腦主機怎麼裝 發布:2024-11-28 21:06:41 瀏覽:222
android調用aidl 發布:2024-11-28 21:05:46 瀏覽:867