Java+ecplise+struts2+tomacat+mysql web开发

    xiaoxiao2023-03-24  2

    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类型,虽然这里并不影响结果,但是改改总是好的)

    转载请注明原文地址: https://ju.6miu.com/read-1200909.html
    最新回复(0)