前言
最近小白入门java web,想要写一个简单的登录页面,但是首先得连接数据库,所以先学习了jsp连接数据库。
准备
首先要导入JDBC的jar包,发现之前学习java se的时候涉及到过。
/s/1xweHOuFP3Xw9yVcXjLFJhw
提取码:0wkg
首先将jar包放入我们web项目的lib依赖文件夹下,如下图所示:
然后右键我们的项目选择build path
点击模块路径后选择添加外部jar,将我们lib目录下的mysql-connector-jar添加进去,应用并关闭。
这样的好处在于,这时候我们添加的jar包我们已经放到了项目里,也就是说我们的项目换台机器也就不用再次添加jdbc的jar包了,也就是我们俗称的“绝对路径”。
添加成功后,项目结构应该如下:
编写jsp文件
接下来在WebContent下右键New->file->jsp file
在这里我已经写好了,大家可以参照我给的注释去理解每一行代码的作用,与 java project 中的jdbc代码是完全一样的。
<%@ page language="java" contentType="text/html; charset=utf-8"%><%@ page import="java.sql.*" %> <!DOCTYPE html><html><head><meta charset="ISO-8859-1"><title>Insert title here</title></head><body><%//数据库路径,其中yiibaidb是我的数据库名称String url = "jdbc:mysql://localhost:3306/yiibaidb?serverTimezone=GMT%2B8";//告诉连接你的账号密码String username = "root";String password = "123456";/try {String str = "NYC";//反射加载jdbc的Driver类Class.forName("com.mysql.cj.jdbc.Driver");//通过DriverManager获取Connection对象Connection con = DriverManager.getConnection(url,username,password);String sql = "select * from offices ";//通过PrepardStatement 准备sql语句PreparedStatement statement = con.prepareStatement(sql);//获取结果集ResultSet rs = statement.executeQuery();//声明结果集的结构ResultSetMetaData rsmd = rs.getMetaData();//获取结果集的列数int count = rsmd.getColumnCount();//对结果集进行遍历while(rs.next()){out.println("");for(int i=1;i<count;i++){out.println(rs.getString(i));}out.println("<br>");}%>//关闭我们的连接<%rs.close();statement.close();con.close();}catch(Exception e){e.printStackTrace();}%></body></html>
在我的mysql中yiibaidb数据库下的office表内容是这样的
在我们的项目中右键run on server
运行结果如下: