这篇文章总字数为:3293 字,有 9 张图存于本站服务器
运行环境:
eclipse或myeclipse,@一定要高版本,低版本做不了!!!
准备工作:
1. 安装好mysql数据库,下载地址: https://dev.mysql.com/downloads/mysql/在官网下载自己想下载的版本,这里用最新的0.20版本,其余版本有问题可自行搜素教程。
将压缩包放入自己想放入的目录里(我设置的目录为:C:\Program Files\MySQL\mysql-8.0.20-winx64)
在cmd中的具体操作步骤:
进入你所放置的mysql文件中
注意事项:路径放入“”,若需要改盘符直接cd D:即可、
在bin目录下执行代码
mysqld --initialize --console
结果如下,红色部分为数据库的初始密码。
由于已安装,用网络图片演示
如出现下图错误则需要微软的运行库
运行库下载网址:https://visualstudio.microsoft.com/zh-hans/downloads/
下载此项
安装mysql并启动
输入命令:mysqld --install [服务名]
服务安装成功之后通过命令
net start mysql
启动MySQL的服务
在mysql的bin目录下 进行数据库连接 输入命令:mysql -u root -p,输入初始密码
修改密码命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';(新密码处添加自己的密码)
密码修改成功后输入exit退出即可。
(服务名可以不加默认为mysql)
2. 然后准备mysql与java的连接器,下载地址:https://dev.mysql.com/downloads/connector/j/
下载好与自己mysql数据库对应的版本即可。
3. 打开下载好的文件找到文件名为mysql-connector-java-8.0.20.jar的文件,放入项目WEB-INF/lib文件夹中
4. 用mysql数据库先创建一个名为:“学号_student”的数据库,例如:17180099_student,里面至少有一张学生表,在数据库的学生表中有自己的信息,包括自己真实的学号,姓名,性别等信息(可以用Navicat工具创建表单)
详细步骤:
(1)在Navicat中创建连接(需知道mysql的root密码),连接名可以随意起
(2)点击连接测试,出现下图说明连接成功
(3)创建数据库
(4)创建表中所需要的数据名及其属性
(5)将数据添加进去
5. 准备工作结束。
连接数据库(JDBC):
创建jdbctest.jsp
源码如下
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="UTF-8" import= "java.sql.* " %>
<!DOCTYPE html>
<html>
<head>
<meta charset="gbk">
<title>Insert title here</title>
</head>
<body>
<% // 1加载驱动
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql8.0以上用代码中的驱动,8.0以下用com.mysql.jdbc.Driver
} catch (ClassNotFoundException e) {
System.out.println("驱动找不到");
e.printStackTrace();
}
Connection conn=null;
//2.获取连接
try {
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/17180080_student?serverTimezone=UTC", "root", "123456");
//jdbc:mysql://localhost:3306/数据库中的表名
} catch (SQLException e) {
System.out.println("连接获取失败");
e.printStackTrace();
}
String sql=("select * from student");
Statement statement=null;
//3创建一个statement 执行sql语句
try {
statement=conn.createStatement();
} catch (SQLException e) {
System.out.println("创建statement对象出现异常");
e.printStackTrace();
}
//4处理结果集
ResultSet res=null;
try {
res=statement.executeQuery(sql);
//打印
while(res.next()) {
out.println(res.getString("uname")+" "+res.getInt("uno")+" "+res.getString("usex")+" "+res.getString("uhobbie")+"");
//res.get表中名字的类型("表中的名字")
}
} catch (SQLException e) {
e.printStackTrace();
}
finally {
//5jdbc链接关闭,先开启后关闭
try {
if(res!=null) {
res.close();
res=null;
}
if(statement!=null){
statement.close();
statement=null;
conn.close();
}
if(conn!=null){
conn.close();
conn=null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>
运行结果:
疑难杂症:
Mysql高版本出现的各种问题的解决方法
- 使用JDBC连接数据库出现Loading class `com.mysql.jdbc.Driver'. This is deprecated.解决方案:0以上用com.mysql.cj.jdbc.Driver驱动数据库,8.0以下用com.mysql.jdbc.Driver
- 使用JDBC连接数据库出现The server time zone value '??????' is解决方案:在这个后面jdbc:mysql://localhost:3306/17180080_student加?serverTimezone=UTC即可解决(6.0以下版本不用加)
- navicat无法连接0版本数据库(报客户端不支持请求认证协议,要升级mysql服务器)的问题:详细见此教程https://blog.csdn.net/bai500/article/details/105045796?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
- 2003 - Can't connect to MySQL server on解决方法。见教程https://blog.csdn.net/qq_34419607/article/details/88685558
tomcat,mysql,jdk与编译器版本不匹配问题,使用jdk10以上建议用eclipse2019以上及tomcat9与mysql8.0以上
文章作者:
该文章由田哲瑞提供,感谢分享。
文明借鉴,站在巨人肩膀上创造价值。
评论