<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    Java連接mysql數據庫攻略

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

      JDBC驅動
      下載版本: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”,出現如下界面:

    mysql安裝向導啟動,按“Next”繼續

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

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

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

    返回剛才的界面,按“Next”繼續。

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

    正在安裝中,請稍候,直到出現下面的界面

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

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

    mysql配置向導啟動界面,按“Next”繼續。

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

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

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

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

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

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

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

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

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

    確認設置無誤,如果有誤,按“Back”返回檢查。按“Execute”使設置生效。

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

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

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

    三. 環境配置
     首先,我要說明的是我現在tomcat的安裝路徑是: D:"Program Files"Java"Tomcat;JDK的安裝路徑是:D:"Program Files"Java"j2sdk。

    在這里,需要配置環境變量的是JDBC驅動.在配置前先要把剛才說到的mysql-connector-java-3.1.8-bin.jar本地硬盤 某處(我放的地方:D:"Program Files"Java"mysqlforjdbc),然后根據你放的地方,配置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應用程序找到連接mysql的驅動.

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

    四. 數據庫的使用

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

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

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

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

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

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

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

    4.建庫
    命令:create database shujuku;

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

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

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

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

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

      首先,安裝就不用說了,有向導,而且很簡單.安裝好后第一次運行時會跳出來一個要求添加對話的框,在這里你可以添加例如上面已經設定好的shujuku,過程如下:
    當你在注冊的復選框里填上你在上面mysql設定好的用戶名和密碼后,在選擇數據庫框里就有shujuku 的數據庫了,選上,按確定.進入mysql-fron后,你就會看到下面的界面,這是你就可以進行操作了.

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

    六. JSP連接mysql
      現在就是嘗試用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.*" %>

    <%

    //驅動程序名

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

    //數據庫用戶名

    String userName="cl41";

    //密碼

    String userPasswd="123456";

    //數據庫名

    String dbName="db";

    //表名

    String tableName="dbtest";

    //聯結字符串

    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);

    //獲得數據結果集合

    ResultSetMetaData rmeta = rs.getMetaData();

    //確定數據集的列數,亦字段數

    int numColumns=rmeta.getColumnCount();

    // 輸出每一個數據值

    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("數據庫操作成功,恭喜你");

    rs.close();

    statement.close();

    connection.close();

    %>

    <出處: Saulzy的BLOG>



    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中,并設置環境變量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;

    現在可以進行javamysql數據庫的連接了

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

    在tomcat/webapps/下建一個文件夾mysqlManager,創建目錄mysqlManager/WEB-INF/classes

    mysqlManager/WEB-INF/web.xml

    在/mysqlManager/ 下新建index.jsp文件,內容如下

    /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.*" %>
    <%!
     //這個函數用來獲取一個和數據庫的連接
     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;
     }
     //下面的函數使顯示的字符串為漢語
     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("請輸入要執行的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數據庫管理系統</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 />
     <%//接受用戶的輸入顯示查詢結果 %>
     <%
      //獲取用戶輸入的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)){
         //執行結果是ResultSet
         rs=stmt.getResultSet();
         //獲取rs自身的描述信息
         ResultSetMetaData rsmd=rs.getMetaData();
         //獲取rs的列數目
         int colNum=rsmd.getColumnCount();
     %>
         <p>您的查詢結果為:</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>發生錯誤,請檢查數據庫的連接</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 會產生查詢結果

    如有疑問可以給我發信qiudawei115@sohu.com



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

    posted on 2009-07-07 16:24 找個美女做老婆 閱讀(6163) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    本blog已經搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV人无码激艳猛片| 日本中文一区二区三区亚洲| 亚洲国产精品嫩草影院在线观看| 在线观看亚洲电影| 国产成人精品免费视频软件| 亚洲精品成a人在线观看夫| 成年女人18级毛片毛片免费| 日韩亚洲国产综合高清| 欧洲精品成人免费视频在线观看 | 日韩不卡免费视频| 亚洲婷婷在线视频| 国产福利在线免费| 亚洲熟妇无码AV| 日韩中文无码有码免费视频| 香蕉视频亚洲一级| 亚洲av无码国产精品色在线看不卡 | 日韩精品久久久久久免费| 久久精品国产亚洲AV麻豆网站| 在线观看免费播放av片| 337p日本欧洲亚洲大胆精品555588| 色猫咪免费人成网站在线观看| 亚洲午夜精品国产电影在线观看| 成人免费午夜无码视频| 亚洲AV无码成人精品区日韩 | 欧洲 亚洲 国产图片综合| 国产精品美女自在线观看免费| 污视频网站在线免费看| 亚洲精品无码不卡在线播放HE| 无码国产精品一区二区免费模式 | 一级毛片免费在线播放| 亚洲级αV无码毛片久久精品| 99久在线国内在线播放免费观看 | 国产精品无码免费播放| 国产精品亚洲精品日韩动图| 日韩亚洲变态另类中文| 亚洲免费二区三区| 免费无码午夜福利片69| 亚洲综合区图片小说区| 免费一看一级毛片人| 99爱在线观看免费完整版| 亚洲国产精品无码久久九九大片|