Java+ecplise+struts2+tomacat+mysql web開發

PS1:這次還是連着上一篇,只不過這裏將模擬數據庫轉爲了mysql數據庫,代碼在這裏沒有提到的,就是說保持不變即可

————————————–無敵分割線—————————————–

這裏要更改的內容其實只有

這裏寫圖片描述

AuthorService.java這個文件

首先,在更改之前要把數據庫配置好,首先要下載Mysql
mysql下載地址
下載安裝版的比較好,大小選擇385.1M的那個(到2016/9/27好用)

這裏寫圖片描述

還要下載相應的DB Driver也就是JDBC
JDBC下載地址
下載Connector/J (因爲我們用的java寫的)

這裏寫圖片描述

下載完後,mysql自行安裝,這個不難,就照着要求一步一步安裝就可以了

安裝完之後出現兩個圖標(具體幾個我就不知道,,我懶得卸了重裝了,,)

這裏寫圖片描述

打開左邊那個
進入後出現如下界面,把之前設置的密碼輸入

這裏寫圖片描述

這時候得到下圖

這裏寫圖片描述

然後我們創建一個叫做author的數據庫

這裏寫圖片描述

使用author數據庫並在裏面建立一個authors的表

這裏寫圖片描述

這時候表裏面還沒有數據,所以我們要插入一個數據

這裏寫圖片描述

現在數據庫已經建好了,這時候要在ecplise裏面配置JDBC

這裏寫圖片描述
這裏寫圖片描述

然後爲了預防萬一,我們把這個jdbc同時也扔到lalala項目中的lib中

這裏寫圖片描述

這時候就可以連接數據庫了,點擊File->new->other..輸入如圖,找到connection profile

這裏寫圖片描述

進去後,這裏要注意,要把所有的database改成自己建的那個數據庫,例如我們這裏建的是叫做author的數據庫

這裏寫圖片描述
這裏寫圖片描述

注意一共有三個地方要修改,而且密碼是之前Mysql的密碼

建立完成後我們可以看到

這裏寫圖片描述

這意味着已經將數據庫連接到ecplise上了
好了,我們可以開始將之前那篇博客上面的模擬數據庫換成MySQL數據庫了

下面貼出修改的代碼
1-welcome.jsp中(這個是我的失誤,兩個對應的變量大小不同) 把author.AuthorID改成author.authorID(因爲數據庫裏面是小寫的)

密碼 :<input type="text" name="author.authorID"/><br/>

2-AuthorService.java

package service;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;

import domin.Author;

public class AuthorService {
    public Integer validateAuthor(Author author) {
        Connection conn = getConn();
        String sql = "select * from authors";//對數據庫中的authors表進行掃描
        PreparedStatement pstmt;
        System.out.println("0000");
        try {
            pstmt = (PreparedStatement)conn.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery();
            while(rs.next()){//rs是按照authors表中,從上往下一個一個數下來,如果跟author一樣,則返回1表示找到了,這個author是從前端傳到後端的,待會兒會說在哪兒
                if(rs.getString(1).equals(author.getAuthorID())&&rs.getString(2).equals(author.getName()))
                    return 1;
            }
            pstmt.close();//記得用完數據庫要把數據庫關掉
            conn.close();
            return -1;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }
    private static Connection getConn() {//獲得數據庫,寫成一個函數,省的每次調用數據庫都重複寫一遍,只需要調用這個函數就可以了
        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/author";
        String username = "root";
        String password = "這裏寫的是你的mysql密碼";
        Connection conn = null;
        try {
            Class.forName(driver); //classLoader,加載對應驅動
            conn = (Connection) DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

}

這樣就能成功的把MySQL數據庫替換掉之前的那個模擬數據庫了。

哦對了,註釋裏面有說這個author是從哪兒來的,他是從前端中就是welcome.jsp中的

<form action="AuthorPro" method="post">
    用戶名:<input type="text" name="author.name"/><br/>
    密碼 :<input type="text" name="author.authorID"/><br/>
    <input type="submit" value="登陸"/>
</form>

name=author.name 和name=author.ID裏面的author來的,後臺用的autho.getAuthorID是調用的Lab2.domin中的Author.java裏面的方法。

這裏寫圖片描述
這裏寫圖片描述

給出時間證明不是假的數據

這裏寫圖片描述
這裏寫圖片描述

PS2(對應的插入,刪除,修改語句只要更改相應的sql的內容即可,我在這裏就不寫了,要是實在是不清楚怎麼寫插入刪除修改的話,可以留言告訴我,我再更新)

PS3(還是我的失誤,這裏要把Author.java裏面age類型改成int類型,之前偷懶用String類型,雖然這裏並不影響結果,但是改改總是好的)

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章