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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章