• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            Java連接mysql數(shù)據(jù)庫攻略

            一. 軟件下載
              Mysql
              下載版本:4.1.11
              
            http://dev.mysql.com/downloads/mysql/4.1.html

              JDBC驅(qū)動
              下載版本:3.1.8
              
            http://dev.mysql.com/downloads/connector/j/3.1.html

              Mysql界面插件:mysql-front
              下載版本鏡像:HongKong(我下回來安裝就是中文版了)
              
            http://www.mysqlfront.de/download.html

            二. 軟件安裝
             打開下載的mysql安裝文件mysql-5.0.27-win32.zip,雙擊解壓縮,運行“setup.exe”,出現(xiàn)如下界面:

            clip_image001

              mysql安裝向?qū)樱?span lang="EN-US">“Next”繼續(xù)

            clip_image002

              選擇安裝類型,有“Typical(默認(rèn))“Complete(完全)、“Custom(用戶自定義)三個選項,我們選擇“Custom”,有更多的選項,也方便熟悉安裝過程

            clip_image003

              在“Developer Components(開發(fā)者部分)上左鍵單擊,選擇“This feature, and all subfeatures, will be installed on local hard drive.”,即此部分,及下屬子部分內(nèi)容,全部安裝在本地硬盤上。在上面的“MySQL Servermysql服務(wù)器)、“Client Programsmysql客戶端程序)、“Documentation(文檔)也如此操作,以保證安裝所有文件。點選“Change...”,手動指定安裝目錄。

            clip_image004

              填上安裝目錄,我的是“F:\Server\MySQL\MySQL Server 5.0”,也建議不要放在與操作系統(tǒng)同一分區(qū),這樣可以防止系統(tǒng)備份還原的時候,數(shù)據(jù)被清空。按“OK”繼續(xù)。

            clip_image005

              返回剛才的界面,按“Next”繼續(xù)。

            clip_image006

              確認(rèn)一下先前的設(shè)置,如果有誤,按“Back”返回重做。按“Install”開始安裝。

            clip_image007

              正在安裝中,請稍候,直到出現(xiàn)下面的界面

            clip_image008

              這里是詢問你是否要注冊一個mysql.com的賬號,或是使用已有的賬號登陸mysql.com,一般不需要了,點選“Skip Sign-Up”,按“Next”略過此步驟。

            clip_image009

              現(xiàn)在軟件安裝完成了,出現(xiàn)上面的界面,這里有一個很好的功能,mysql配置向?qū)?,不用向以前一樣,自己手動亂七八糟的配置my.ini了,將 “Configure the Mysql Server now”前面的勾打上,點“Finish”結(jié)束軟件的安裝并啟動mysql配置向?qū)А?

            clip_image010

              mysql配置向?qū)咏缑?,?span lang="EN-US">“Next”繼續(xù)。

            clip_image011

              選擇配置方式,“Detailed Configuration(手動精確配置)、“Standard Configuration(標(biāo)準(zhǔn)配置),我們選擇“Detailed Configuration”,方便熟悉配置過程。

            clip_image012

              選擇服務(wù)器類型,“Developer Machine(開發(fā)測試類,mysql占用很少資源)、“Server Machine(服務(wù)器類型,mysql占用較多資源)“Dedicated MySQL Server Machine(專門的數(shù)據(jù)庫服務(wù)器,mysql占用所有可用資源),大家根據(jù)自己的類型選擇了,一般選“Server Machine”,不會太少,也不會占滿。

            clip_image013

              選擇mysql數(shù)據(jù)庫的大致用途,“Multifunctional Database(通用多功能型,好)、“Transactional Database Only(服務(wù)器類型,專注于事務(wù)處理,一般)“Non-Transactional Database Only(非事務(wù)處理型,較簡單,主要做一些監(jiān)控、記數(shù)用,對MyISAM數(shù)據(jù)類型的支持僅限于non-transactional),隨自己的用途而選擇了,我這里選擇“Transactional Database Only”,按“Next”繼續(xù)。

            clip_image014

              對InnoDB Tablespace進行配置,就是為InnoDB 數(shù)據(jù)庫文件選擇一個存儲空間,如果修改了,要記住位置,重裝的時候要選擇一樣的地方,否則可能會造成數(shù)據(jù)庫損壞,當(dāng)然,對數(shù)據(jù)庫做個備份就沒問題了,這里不詳述。我這里沒有修改,使用用默認(rèn)位置,直接按“Next”繼續(xù)

            clip_image015

              選擇您的網(wǎng)站的一般mysql訪問量,同時連接的數(shù)目,“Decision Support(DSS)/OLAP20個左右)、“Online Transaction Processing(OLTP)500個左右)、“Manual Setting(手動設(shè)置,自己輸一個數(shù)),我這里選“Online Transaction Processing(OLTP)”,自己的服務(wù)器,應(yīng)該夠用了,按“Next”繼續(xù)

            clip_image016

              是否啟用TCP/IP連接,設(shè)定端口,如果不啟用,就只能在自己的機器上訪問mysql數(shù)據(jù)庫了,我這里啟用,把前面的勾打上,Port Number3306,在這個頁面上,您還可以選擇啟用標(biāo)準(zhǔn)模式Enable Strict Mode),這樣MySQL就不會允許細(xì)小的語法錯誤。如果您還是個新手,我建議您取消標(biāo)準(zhǔn)模式以減少麻煩。但熟悉MySQL以后,盡量使用標(biāo)準(zhǔn)模式,因為它可以降低有害數(shù)據(jù)進入數(shù)據(jù)庫的可能性。按“Next”繼續(xù)

            clip_image017

              這個比較重要,就是對mysql默認(rèn)數(shù)據(jù)庫語言編碼進行設(shè)置,第一個是西文編碼,第二個是多字節(jié)的通用utf8編碼,都不是我們通用的編碼,這里選擇第三個,然后在Character Set那里選擇或填入“gbk”,當(dāng)然也可以用“gb2312”,區(qū)別就是gbk的字庫容量大,包括了gb2312的所有漢字,并且加上了繁體字、和其它亂七八糟的字——使用mysql的時候,在執(zhí)行數(shù)據(jù)操作命令之前運行一次“SET NAMES GBK;”(運行一次就行了,GBK可以替換為其它值,視這里的設(shè)置而定),就可以正常的使用漢字(或其它文字)了,否則不能正常顯示漢字。按 “Next”繼續(xù)。

            clip_image018

              選擇是否將mysql安裝為windows服務(wù),還可以指定Service Name(服務(wù)標(biāo)識名稱),是否將mysqlbin目錄加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目錄名,比如連接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我這里全部打上了勾,Service Name不變。按“Next”繼續(xù)。

            clip_image019

              這一步詢問是否要修改默認(rèn)root用戶(超級管理)的密碼(默認(rèn)為空),“New root password”如果要修改,就在此填入新密碼(如果是重裝,并且之前已經(jīng)設(shè)置了密碼,在這里更改密碼可能會出錯,請留空,并將“Modify Security Settings”前面的勾去掉,安裝配置完成后另行修改密碼),“Confirm(再輸一遍)內(nèi)再填一次,防止輸錯。“Enable root access from remote machines(是否允許root用戶在其它的機器上登陸,如果要安全,就不要勾上,如果要方便,就勾上它)。最后“Create An Anonymous Account(新建一個匿名用戶,匿名用戶可以連接數(shù)據(jù)庫,不能操作數(shù)據(jù),包括查詢),一般就不用勾了,設(shè)置完畢,按“Next”繼續(xù)。

            clip_image020

              確認(rèn)設(shè)置無誤,如果有誤,按“Back”返回檢查。按“Execute”使設(shè)置生效。

            clip_image021

              設(shè)置完畢,按“Finish”結(jié)束mysql的安裝與配置——這里有一個比較常見的錯誤,就是不能“Start service”,一般出現(xiàn)在以前有安裝mysql的服務(wù)器上,解決的辦法,先保證以前安裝的mysql服務(wù)器徹底卸載掉了;不行的話,檢查是否按上面一步所說,之前的密碼是否有修改,照上面的操作;如果依然不行,將mysql安裝目錄下的data文件夾備份,然后刪除,在安裝完成后,將安裝生成的 data文件夾刪除,備份的data文件夾移回來,再重啟mysql服務(wù)就可以了,這種情況下,可能需要將數(shù)據(jù)庫檢查一下,然后修復(fù)一次,防止數(shù)據(jù)出錯。

            2.JDBC驅(qū)動:mysql-connector-java-3.1.8
              
            這只是一個壓縮包,并不需要安裝,只要將其解壓,我么使用的是文件夾mysql-connector-java-3.1.8
            里的文件:mysql-connector-java-3.1.8-bin.jar

              3. Mysql界面插件:mysql-front
              這是一個安裝程序,按照提示安裝就可以了.

            三. 環(huán)境配置
             首先,我要說明的是我現(xiàn)在tomcat的安裝路徑是: D:\Program Files\Java\Tomcat;JDK的安裝路徑是:D:\Program Files\Java\j2sdk

               在這里,需要配置環(huán)境變量的是JDBC驅(qū)動.在配置前先要把剛才說到的mysql-connector-java-3.1.8-bin.jar本地硬盤 某處(我放的地方:D:\Program Files\Java\mysqlforjdbc),然后根據(jù)你放的地方,配置classpath,我的配置是這樣的:

              D:\Program files\Java\j2sdk\lib\tools.jar;

              D:\Program Files\Java\j2sdk\lib\mysql-connector-java-3.1.8-bin-g.jar;

              D:\Program Files\Java\mysqlforjdbc\mysql-connector-java-3.1.8-bin.jar
              配置這個的目的是讓你的java應(yīng)用程序找到連接mysql的驅(qū)動.

               配置完環(huán)境變量后還有很重要一步就是為JSP連接數(shù)據(jù)庫配置驅(qū)動,這個其實很簡單,就是把mysql-connector-java-3.1.8- bin.jar拷到某些文件夾里就行了,我在網(wǎng)上看了很多資料問了很多人,各種說法都有,我綜合了一下,為了保險,我都全做了,呵呵,反正就是拷一個 400K的文件而已,現(xiàn)列出要把mysql-connector-java-3.1.8-bin.jar拷進去的文件夾,如下:
              D:\Program Files\Java\Tomcat\common\lib
              D:\Program Files\Java\Tomcat\shared\lib

            四. 數(shù)據(jù)庫的使用

              Mysql安裝完畢以后,還有一些要注意的地方(推薦文章):http://blog.csdn.net/saulzy/archive/2005/04/23/359811.aspx
                  
            還有就是看mysql的官方中文文檔。。。。。。。。。。。

               就象在文章提到的,mysql安裝好后最重要一樣就是要看數(shù)據(jù)庫有沒有作為系統(tǒng)服務(wù)啟動了,所以在大家進行數(shù)據(jù)庫操作前,應(yīng)要看看,在操作系統(tǒng)的開始->運行->輸入services.msc,確定你在安裝時你設(shè)置的關(guān)于mysql的那個服務(wù)已經(jīng)啟動,這樣你在操作數(shù)據(jù)庫時不會報連接不上的錯誤.

               上面提到了一個較方便的mysql界面插件,但是這個界面是我在已經(jīng)開始使用mysql后才找到的,剛開始我是在dos下用命令行進行操作的.雖然那個 界面也可以進行建庫啊,設(shè)定權(quán)限等操作,但是,我覺得懂得在使用命令行也是一個很重要的技能,所以我先從命令行開始說,怎樣簡單使用mysql.到后面會 談及mysqlfront的使用.

              現(xiàn)在我想在mysql里建一個數(shù)據(jù)庫shujuku,以及在數(shù)據(jù)庫里建一個表biao.具體的命令如下(假設(shè)mysql我是剛安裝好的)

              1. 進入dos狀態(tài)(記住命令行的要運行在mysql的安裝目錄下的bin目錄的)

              2. 連接mysql
              輸入:mysql –h localhost –u root –p
              輸入在安裝時已設(shè)好的密碼,就近入了mysql的命令編輯界面了。

              3. 使用mysql的基本命令(mysql命令行編輯每輸入完命令后最后一定要有分號,不然會報錯)
              顯示數(shù)據(jù)庫:show databases;
              使用數(shù)據(jù)庫:use 數(shù)據(jù)庫名;

              4.建庫
              命令:create database shujuku;

              5.為數(shù)據(jù)庫設(shè)置權(quán)限(用戶和密碼)
              命令:grant all privileges on shujuku.* to test@localhost identified by “123456”;
              當(dāng)你執(zhí)行完這個命令以后,只要你再以用戶名:test,密碼:123456登錄時你就只可以對shujuku這個數(shù)據(jù)庫操作,這樣避開使用root,對數(shù)據(jù)庫的安全有很大幫助.

              6.建表
              命令:create table biao(id int(8) primary key,name varchar(10));

              剩下來的與標(biāo)準(zhǔn)sqsl命令基本上是一樣的,具體操作略
              值得一提的是,你在命令行上輸入"?",就會有mysql命令的簡單幫助,如下:

              呵呵,那樣,我們還可以知道退出,就是"exit",呵呵!

            五. 關(guān)于mysql-front的使用
              我找了好幾個mysql的界面工具,覺得最簡潔方便還是mysql-front,可惜的是要收費,不過還好有試用期,呵呵,可以先感受感受一下,最重要一點是mysql-front有簡體中文版的,英文不好的我用起來就舒服多了.下面簡單說說使用吧.

              首先,安裝就不用說了,有向?qū)В液芎唵危惭b好后第一次運行時會跳出來一個要求添加對話的框,在這里你可以添加例如上面已經(jīng)設(shè)定好的shujuku,過程如下:
              當(dāng)你在注冊的復(fù)選框里填上你在上面mysql設(shè)定好的用戶名和密碼后,在選擇數(shù)據(jù)庫框里就有shujuku 的數(shù)據(jù)庫了,選上,按確定.進入mysql-fron后,你就會看到下面的界面,這是你就可以進行操作了.

               要說明的是,你還可以把root用戶也加進去,這要你在mysql-fron的界面上選設(shè)置->對話->新建,再按上面進行就可以,出了root你還可 以加入更多的用戶,方法還是一樣的,設(shè)置不同的用戶,是方便對不同數(shù)據(jù)庫進行管理,呵呵,root是權(quán)限最高的,可不要隨便讓別人使用你的root用戶, 保正你數(shù)據(jù)庫的安全.

            六. JSP連接mysql
              現(xiàn)在就是嘗試用jsp連接mysql
              我在eclipse里建了個test_mysql.jsp頁面,代碼如下:

            <%@ page contentType="text/html; charset=gb2312" %>

            <%@ page language="java" %>

            <%@ page import="com.mysql.jdbc.Driver" %>

            <%@ page import="java.sql.*" %>

            <%

            //
            驅(qū)動程序名

            String driverName="com.mysql.jdbc.Driver";

            //
            數(shù)據(jù)庫用戶名

            String userName="cl41";

            //
            密碼

            String userPasswd="123456";

            //
            數(shù)據(jù)庫名

            String dbName="db";

            //
            表名

            String tableName="dbtest";

            //
            聯(lián)結(jié)字符串

            String url="jdbc:mysql:3306//localhost/"+dbName+";

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

            Connection connection=DriverManager.getConnection(url,userName,userPasswd);

            Statement statement = connection.createStatement();

            String sql="SELECT * FROM "+tableName;

            ResultSet rs = statement.executeQuery(sql);

            //
            獲得數(shù)據(jù)結(jié)果集合

            ResultSetMetaData rmeta = rs.getMetaData();

            //
            確定數(shù)據(jù)集的列數(shù),亦字段數(shù)

            int numColumns=rmeta.getColumnCount();

            //
            輸出每一個數(shù)據(jù)值

            out.print("id");

            out.print("|");

            out.print("num");

            out.print("<br>");

            while(rs.next()) {

            out.print(rs.getString(1)+" ");

            out.print("|");

            out.print(rs.getString(2));

            out.print("<br>");

            }

            out.print("<br>");

            out.print("
            數(shù)據(jù)庫操作成功,恭喜你");

            rs.close();

            statement.close();

            connection.close();

            %>

            <出處: SaulzyBLOG>

             

            Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=678313

            上面的沒成功用下面的

            mysql-connector-java-5.0.4-bin.jar放入C:\Program Files\Java\jdk1.5.0_09\jre\libC:\Program Files\Apache Software Foundation\Tomcat 6.0\lib中,并設(shè)置環(huán)境變量classpath C:\Program Files\Java\jdk1.5.0_09\jre\lib\mysql-connector-java-5.0.4-bin.jar;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\mysql-connector-java-5.0.4-bin.jar;

            現(xiàn)在可以進行javamysql數(shù)據(jù)庫的連接了

            下面用一個簡單的例子來測試一下

            tomcat/webapps/下建一個文件夾mysqlManager,創(chuàng)建目錄mysqlManager/WEB-INF/classes

            mysqlManager/WEB-INF/web.xml

            /mysqlManager/ 下新建index.jsp文件,內(nèi)容如下

            /mysqlManager/index.jsp:

            <?xml version="1.0" encoding="gbk" ?>
            <%@ page language="java" contentType="text/html; charset=gbk"
                pageEncoding="gbk"%>
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<%@ page import="java.sql.*" %>
            <%!
            //
            這個函數(shù)用來獲取一個和數(shù)據(jù)庫的連接
            Connection getConnection() throws SQLException{
              String dbURL="jdbc:mysql://localhost/mysql";
              String dbUser="root";
                 String dbPassword="851120";
              try{
               Class.forName("com.mysql.jdbc.Driver");
              }catch(ClassNotFoundException e){
               e.printStackTrace();
              }
              return DriverManager.getConnection(dbURL,dbUser,dbPassword);
            }
             
            //
            判斷一個字符串是否為空
            boolean isEmptyString(String str){
              return str==null||str.length()==0||str.trim().length()==0;
            }
            //
            下面的函數(shù)使顯示的字符串為漢語
            String convert(String str){
              try{
               return new String(str.getBytes("ISO-8859-1"),"gbk");
              }catch(Exception e){
               return null;
              }
            }
            %>

            <script type="text/javascript">
            <!--
            function checkValue(){
              if(document.forms["main"].sql.value.length==0){
               alert("
            請輸入要執(zhí)行的SQL語句");
               document.forms["main"].sql.focus();
               return false;
              }else{
               return true;
              }
            }
            //-->
            </script>
            <html xmlns="
            <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
            <title>mysql數(shù)據(jù)庫管理系統(tǒng)</title>
            </head>
            <body>
            <center>
            <table width="80%" border="0">
              <tr>
            請輸入要查詢的SQL語句</tr>
              <tr>
               <form action="index.jsp" name=main method="post" onsubmit="checkValue()">
                <td>
                 <textarea name="sql" cols=80 rows=15></textarea>
                </td>  
                <td valign="bottom">
                 <input type="submit" value="
            提交"/>
                </td>
               </form>
              </tr>
            </table>
            <hr />
            <%//
            接受用戶的輸入顯示查詢結(jié)果 %>
            <%
              //
            獲取用戶輸入的SQL語句
              String sql=request.getParameter("sql");
              //out.print("qwe");
              if(!isEmptyString(sql)){
            %>
               <p>
            您所輸入的SQL語句是<%=sql %></p>
            <%
               Connection con=null;
               Statement stmt=null;
               ResultSet rs=null;
               //out.print("qwe");
               try{
                //out.print("qwe");
                con=getConnection();
                //out.print("qwe");
                stmt=con.createStatement();
                //stmt.execute(sql);
                if(stmt.execute(sql)){
                 //
            執(zhí)行結(jié)果是ResultSet
                 rs=stmt.getResultSet();
                 //
            獲取rs自身的描述信息
                 ResultSetMetaData rsmd=rs.getMetaData();
                 //
            獲取rs的列數(shù)目
                 int colNum=rsmd.getColumnCount();
            %>
                 <p>
            您的查詢結(jié)果為:</p>
                 <table border="1">
                  <tr>
                   <%
                    for(int i=1;i<=colNum;i++){
                   %>
                    <td><%=rsmd.getColumnName(i) %></td>
                   <%
                    }
                   %>
                  </tr>
                   <%
                    while(rs.next()){
                   %>
                  <tr>
                    <%
                     for(int j=1;j<=colNum;j++){
                    %>
                     <td><%=convert(rs.getString(j)) %></td>
                    <%
                     }
                    }
                    %>
                  </tr>
                 </table>
            <%
                }else{
                
                 int colNum=stmt.getUpdateCount();
                 %>
                 <p>
            您更新了<%=colNum %>!</p>
                 <%
                }
               }catch(SQLException e){
                %>
                <p>
            發(fā)生錯誤,請檢查數(shù)據(jù)庫的連接</p>
                <%
               }finally{
                try{
                 if(rs!=null)
                  rs.close();
                }catch(Exception e){
                 }
                try{
                 if(stmt!=null)
                  stmt.close();
                }catch(Exception e){
                 }
                try{
                 if(con!=null)
                  con.close();
                }catch(Exception e){
                 }
               }
              }
            %>
            </center>
            </body>
            </html>

            在瀏覽其中運行http://localhost:8080/mysqlManager/index.jsp

            在輸入框中輸入sql查詢語句 select * from user 會產(chǎn)生查詢結(jié)果

            如有疑問可以給我發(fā)信qiudawei115@sohu.com

             

            posted on 2009-06-17 21:57 肥仔 閱讀(15781) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

            日韩亚洲国产综合久久久| 中文字幕久久精品无码| 久久久精品人妻一区二区三区蜜桃| 久久精品一区二区三区AV| 国内精品久久久久影院一蜜桃| 777久久精品一区二区三区无码 | 欧美伊人久久大香线蕉综合69| 99久久久精品| 深夜久久AAAAA级毛片免费看| AAA级久久久精品无码区| 久久无码AV中文出轨人妻| …久久精品99久久香蕉国产| 久久久噜噜噜久久熟女AA片| 久久天堂AV综合合色蜜桃网 | 午夜久久久久久禁播电影| yellow中文字幕久久网| 欧美激情精品久久久久| 久久精品人妻中文系列| 久久久久亚洲av无码专区喷水 | 一级女性全黄久久生活片免费 | 久久久久久国产精品美女| 无码人妻久久一区二区三区免费| 久久国产劲爆AV内射—百度| 久久久久久综合网天天| 久久精品中文闷骚内射| 久久国产成人精品麻豆| 丁香色欲久久久久久综合网| 久久久亚洲欧洲日产国码aⅴ | 欧美亚洲国产精品久久| 久久久久18| 久久无码AV中文出轨人妻| 久久亚洲日韩精品一区二区三区| 国产精品一久久香蕉产线看| 久久国产精品国语对白| 国产2021久久精品| 无码8090精品久久一区 | 久久免费视频观看| 香港aa三级久久三级老师2021国产三级精品三级在 | 狠狠88综合久久久久综合网| 久久综合综合久久97色| 色悠久久久久久久综合网|