今天上课需要连接mysql数据库,但是出现很多问题,因为接触新的事物不太适应,看着别人一顿操作感觉非常难,但是当自己着手后,感觉还是可以的,不是想想的那么难,只要一步一步做就可以了。在此写下这篇文章,作为笔记,也想让别人少走弯路。
步骤一:
下载jareclipse连接Mysql数据库,需要下载Mysql的驱动(.jar包),据我所了解的需要下载和mysql版本相匹配的jar包。(我就是当初jar包下载错误,所以后来步步错) 这里给大家介介绍一片文章里面又详细的介绍。
文章链接:https://blog.csdn.net/qq_40013685/article/details/84982295
步骤二:
首先现在mysql中创建一个数据库(数据库名为new_schema),然后建立一张表(表名为student),之所以这样起名是为了与下面代码匹配,如果后续熟悉后可以自己命名。
数据库图片如下,其中最为重要的是箭头部分(取决于能否运行下面程序),其他部分是我觉得一些重要的信息(本人自己理解,如果有错误望见谅)。 当然表中红色覆盖部分是我自己的姓名,估计老师是为了防止我们互相借鉴。。。无奈。
表中内容如下:当然表头(no name czxt wjyl sjjg)也请按照如此来写,因为后面要显示表中内容。当然其他内容可以随便定义。
然后大家一串jsp代码,看看能否运行,若运行成功就不用进入下一步了。
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="java.sql.*"%>
<HTML>
<BODY>
<%
Connection con;
Statement sql;
ResultSet rs;
try {
//1.使用MySql的JDBC驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
//2.连接数据库
con = DriverManager
.getConnection("jdbc:mysql://localhost:3306/new_schema?serverTimezone=UTC&user=root&password=123");
//3.1创建Statement对象
sql = con.createStatement();
//3.2执行SQL语句
rs = sql.executeQuery("SELECT * FROM student");
//4 处理结果
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>" + "学号");
out.print("<TH width=100>" + "姓名");
out.print("<TH width=100>" + "数据结构");
out.print("<TH width=100>" + "操作系统");
out.print("<TH width=100>" + "微机原理");
out.print("</TR>");
while (rs.next()) {
out.print("<TR>");
out.print("<TD >" + rs.getString(1) + "</TD>");
out.print("<TD >" + rs.getString(2) + "</TD>");
out.print("<TD >" + rs.getInt("sjjg") + "</TD>");
out.print("<TD >" + rs.getInt("czxt") + "</TD>");
out.print("<TD >" + rs.getInt("wjyl") + "</TD>");
out.print("</TR>");
}
out.print("</Table>");
String strSQL = "show variables like 'character%'";
System.out.println(strSQL);
rs = sql.executeQuery(strSQL);
System.out.println("-----------debug-------------");
while(rs.next()){
System.out.println(rs.getString(1)+":"+rs.getString(2));
}
System.out.println("-----------debug-------------");
//5 关闭连接
con.close();
} catch (SQLException e1) {
e1.printStackTrace();
}
%>
</BODY>
</HTML>
这里圈中部分都是重要部分。
第一个内容使用mysql的jdbc驱动程序,这里可以不用改动,若这里有错误,编译器会报错并且给出正确的格式。
第二部分new_schema是我的数据库名,uer和password是我的数据库账户和 密码,这里每个人视情况而写,其中红色部分本来没有,后来由于出现时区错误加上去的,加上后就没有错误。
第三部分是表名,注意不要写错
遇到的问题:
第一:
问题在这篇文章中会介绍:
https://blog.csdn.net/qq_44973159/article/details/103601615
第二:
问题在这篇文章中会介绍:
https://www.cnblogs.com/woniu57/archive/2012/09/03/2669481.html
新手接触新邻域总是迷茫,但是请不要气馁。