java web 采用eclipse编译器连接mysql
本篇文章所做:在已配置好Tomcat,mysql和eclipse的前提下 通过cmd指令操作搭建数据库并在eclipse中实现数据库操作
本文章最终目的:在eclipse中采用jsp文件或java文件连接mysql数据库并能够实现数据库的基本操作(查询,修改,插入,删除)
问题
在学习web后端开发时遇到的问题:在连接eclipse和mysql时遇到的问题,同学和我用的软件又不一样,在其他文章中找了很多东西来看,但是都很零零散散,所以把我遇到的问题给写出来,希望能给大家提供帮助
前置条件:
这儿只是笔者之前安装好的环境和软件,不一定要与笔者的软件和版本完全相同
Tomcat的安装和配置 可参考这篇文章:
https://blog.csdn.net/qq_39047789/article/details/103883252
MySQL数据库下载地址:https://dev.mysql.com/downloads/windows/installer/8.0.html
mysql的安装过程参考文档:https://www.cnblogs.com/winton-nfs/p/11524007.html
jdbc驱动下载地址:https://dev.mysql.com/downloads/connector/j/
jdbc的驱动放置的位置的地方:
方法一:
(1)MyEclipse项目的WEB-INF下新建的lib文件夹;
(2)将下载的JDBC驱动器解压缩至本地硬盘,将其中的“mysql-connector-java-8.0.15.jar”(随着时间变化 版本可能不同,笔者下载的版本也有所不同,但方法没问题)复制到(1)中新建的lib文件夹中,将jar包拷入后,点击鼠标右键–>Build Path–>Add to Build Path,完成导入。如下图所示
方法二:
(1)下载的JDBC驱动器解压缩至本地硬盘,将其中“mysql-connector-java-8.0.15.jar”复制到你自己的Tomcat文件夹的lib子文件夹中。
(2)在web项目上(此处例子为“CourseExamples06”)单击右键,选择“Properties”->“java Build Path”->“Libraries”->“Add External JARs…”,将该jar包添加,如下图所示,重启服务器即可。
cmd命令行创建含表student的dsschool数据库
这儿只介绍我所使用到的命令行中的语句,其余语句推荐参考下方链接,我认为这篇文章介绍得相对完善,仔细,能够让大家对这些数据库命令更加了解:
https://blog.csdn.net/weixin_43790276/article/details/102655786
那咋们就开始构建数据库了:
命令:mysql -u root -p
启动mysql数据库,password为设定mysql数据库时设定的密码,初始密码为localhost,建议修改,在前面的配置mysql中有提到如何修改
命令: show databases;
查看当前mysql中存在的数据库,一开始有四个初始化的数据库(不要删除它们,如果删除了可能会引发后面的错误(建议重新安装))
通过命令:create database DSSchool;
创建自己的数据库
新建数据库观察 show databases;命令的变化:
创数据库时未指定编码,可通过命令:show create database dsschool;
查看指定数据库的编码(dsschool为自己创建的数据库的名字)
可通过命令:alter database dsschool character set utf8;
将数据库的编码修改为utf-8 使它能够正确显示中文 避免乱码现象
命令:use dsschool
进入当前新建的数据库
命令:select database();
可查看当前所在数据库
CREATE TABLE Student(
stuNo VARCHAR(4) PRIMARY KEY,
stuName VARCHAR(10),
stuSex VARCHAR(9)
) ;
向student表单中插入数据操作:
数据库sql语言插入数据程序(可直接在cmd中进入对应的数据库后粘贴这段sql指令进行插入数据):
insert into Student(stuNo,stuName,stuSex)
values("0001","王海","男"),
("0002","冯山","女"),
("0003","张平","男"),
("0004","刘欢","女"),
("0005","唐为","男"),
("0006","唐风","女"),
("0007","刘平","男"),
("0008","徐少强","男"),
("0009","陈发","女"),
("0010","江海","女");
完成上述步骤后,你已经完成了创建一个含有student表单名为dsschool的数据库
可通过sql语言:select * from student;
对student表中的数据进行查看,如下图
java文件实现连接mysql数据库和操作
后缀.java文件实现连接数据库 并通过sql语句对数据库中的内容进行修改,
为增加可读性,我在代码中增加了很多注释方便理解 各部分功能
package ex_3; //package包 自己改
import java.sql.*;
public class test {
public static void main(String args[]) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");//加载MYSQL JDBC驱动程序
//Class.forName("org.gjt.mm.mysql.Driver");
System.out.println(" 加载驱动成功 Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.println("mysql驱动加载出错 检查一下mysql的连接");
e.printStackTrace();
}
try {//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/dsschool","root","root");
// 注意:jdbc:mysql://localhost:3306/ 后接数据库的名字 所以数据库要事先通过命令行等方式创建好
Statement stat =connect.createStatement();
//statement实例用于运行sql语句
System.out.println("连接mysql数据库成功");
String sql_1 = "select * from student"; //执行查询语句
String sql_2 = "insert into student(stuNo,stuName,stuSex) values('0015','张月','女')";
String sql_3 = "UPDATE Student set stuName ='小月月' where stuNo = '0015'";
String sql_4 = "DELETE from student where stuNo = '0015'";
//table表的名字 我有时候大写了 有时候小写了 没有影响,数据库中表名统一小写(自动转换)
//提醒:在我之前定义的student表中stuNo在数据库中作为主键(Primary key 不可通过update命令修改)
// stat.executeUpdate(sql_2);
// stat.executeUpdate(sql_3);
// stat.executeUpdate(sql_4);
//分别执行sql_2,sql_3,和sql_4 插入 、更新 、删除语句
//更改Update中执行的sql语句 executeUpdate()中可执行比如CREATE,DROP,INSERT,UPDATA,DELETE 数据库操作命令
ResultSet rs = stat.executeQuery(sql_1); //执行sql_1 查询语句
//ResultSet对象用于存储sql的查询语句的返回值
System.out.println("sql语句执行完成");
System.out.println("查询结果:");
System.out.println("编号"+" "+"姓名 "+" "+"性别");
while (rs.next()) {
System.out.println(rs.getString("stuNo")+" "+rs.getString("stuName")+" "+rs.getString("stuSex"));
}
stat.close();
connect.close();
//使用完后记得关闭 在大型程序中节约内存空间
}
catch(SQLException e) {
System.out.print("jdbc连接mysql数据库出抛出异常 或 sql语句执行异常 详情请debug");
}
finally {
}
}
}
代码说明:String 变量中 sql_1、sql_2、sql_3、sql_4分别是对数据库中的内容进行查询,插入,更新和删除操作,现有的内容是将更新等操作给注释掉了,只可进行查询操作,
java程序运行效果(控制台输出):
执行sql_2后插入“0015 张月 女” 的信息 后数据库的内容:
执行修改命令sql_3之后 将学号为0015 的学生姓名修改为”小月月” 数据库内容:
执行删除命令sql_4之后删除stuNo为“0015”的学生信息,数据库内容变化为:
jsp文件代码实现数据库操作
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.sql.*" pageEncoding="utf-8"%>
<html>
<body>
<%
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Connection conn = DriverManager.getConnection("jdbc:odbc:DSSchool");
//书本上的连接方式和自己采用的连接方式有出入需要适当更改
Class.forName("com.mysql.cj.jdbc.Driver");//加载MYSQL JDBC驱动程序
System.out.println(" 加载驱动成功 Success loading Mysql Driver!");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/dsschool","root","root");
System.out.println("连接mysql数据库成功");
//Class.forName("org.gjt.mm.mysql.Driver");
Statement stat = connect.createStatement();
String sql = "INSERT INTO student(stuNo,stuName,stuSex) VALUES('0032','冯江','男')";
String sql_2 = "select * from student";
String sql_3 = "UPDATE Student set stuSex ='女' where stuNo = '0032'";
String sql_4 = "DELETE from student where stuNo = '0032'";
//stat.executeUpdate(sql_2);
ResultSet rs = stat.executeQuery(sql_2);
out.println("查询结果: <br>");
out.println("编号"+" "+"姓名 "+" "+"性别 <br>");
while (rs.next()) {
out.println(rs.getString("stuNo")+" "+rs.getString("stuName")+" "+rs.getString("stuSex")+" <br>");
}
//out.println("成功添加" + i + "行");
stat.close();
connect.close();
%>
</body>
</html>
代码说明:该代码已注释掉执行更新数据库的操作语句增、删、改操作,适当更改后即可进行相应操作(一定要有一点java基础啊)
这儿修改数据库的方式与前面通过java文件进行修改数据库的内容相似
到这里你已经可以通过java和jsp文件实现基本的数据库操作了,你就有了做网页后端的一点点基础了,恭喜你迈入后端的大门,后面还有星辰大海,加油!代码人!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114598.html