JSP访问数据库(网上书店项目---创建数据库和JDBC连接数据库测试)

Posted So istes immer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP访问数据库(网上书店项目---创建数据库和JDBC连接数据库测试)相关的知识,希望对你有一定的参考价值。

目录

1. 理论

JSP是动态网页设计技术,动态网页离不开数据库的支持。

JSP支持各种数据库应用:mysql、Oracle、Sql Server、DB2、Access...

在数据库中创建表的方法:①新建表 ②运行sql脚本 ③从excel导入

我们使用JDBC(Java DataBase Connectivity)来访问数据库

JDBC是Java核心类库的组成部分

JSP访问MySQL数据库,需要将JDBC驱动jar包,并放入项目的\\WEB-INF\\lib\\文件夹中

JDBC常用接口、类介绍

Driver接口:每种数据库的驱动程序都提供一个实现该接口的类,应用程序必须首先加载它
Class.forName("com.mysql.jdbc.Driver");    //加载JDBC驱动器,不同数据库的JDBC驱动器不一样
DriverManager类:管理与特定数据库的连接
Connection接口类:Connection接口类对象是应用程序连接数据库的连接对象
该对象由DriverManager类的getConnection()方法提供
该对象主要作用是调用createStatement()来创建Statement语句对象
Statement接口:将sql语句发送到数据库中,并获取sql语句的结果
ResultSet接口:用于获取Statement语句对象执行sql语句返回的结果

JDBC访问数据库的步骤

①注册加载一个数据库驱动程序
②创建Connection
③创建语句对象Statement
④语句对象Statement执行sql语句
⑤处理执行sql后得到的数据
⑥关闭Connection连接等资源 

 

2.实践---网上书店项目初步

数据库设计

用户表(userinfo)
列名数据类型备注
userIdint(11)用户ID
loginnamevarchar(20)用户名
passswordvarchar(10)密码

图书信息表(titles)
列名数据类型备注
isbnvarchar(20)书号
titlevarchar(100)书名
editionNumberint(11)版本号
copyrightvarchar(4)版权号
publisherIDint(11)出版社ID
imageFilevarchar(100)封面图片文件名
pricedouble图书单价
summaryvarchar(200)

内容简介    

出版社表(publishers)
列名数据类型备注
publisherIdint(11)出版社ID
publisherNamevarchar(30)出版社名称

订单记录表(bookorder)
列名数据类型备注
orderIdint(11)订单ID
userNamevarchar(20)用户名
zipcodevarchar(8)邮编
phonevarchar(20)联系电话
creditcardvarchar(20)信用卡号
totaldouble合计金额

作者信息表(authors)
列名数据类型备注
authorIdint(11)作者ID
firstNamevarchar(20)作者姓
lastNamevarchar(30)作者名

信用卡账户信息表(account)
列名数据类型备注
idint(11)ID
balancedouble余额
creditcardvarchar(10)信用卡号

我这里用的是导入sql脚本的方式来创建数据库(sql脚本可去我的项目根目录下的dataBase文件夹下去找)

利用JDBC访问图书表

①创建bookstore项目
②导入jdbc驱动jar包,并放入项目的\\WEB-INF\\lib\\文件夹中
③创建listTitles.jsp(需要import sql.*)
④将bookstore项目发布到tomcat上,启动tomcat

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决办法(如果确实已经导入了mysql-connector-java-8.0.26.jar包):关闭tomcat再重启试试

WebRoot/test/listTitles.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.sql.*" %>

<!DOCTYPE html>
<html>
  <body>
    <table>
    <tr><td>ISBN</td><td>书名</td><td>版本</td><td>出版时间</td><td>价格</td></tr>
    <%
    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://localhost:3306/books?useUnicode=true&characterEncoding=UTF-8";
    Connection dbCon = DriverManager.getConnection(url, "root", "511511");
    Statement stmt = dbCon.createStatement();
    ResultSet rs = stmt.executeQuery("select * from titles");
    while(rs.next()) {
    %>
    <tr bgcolor="cyan">
    	<td><%=rs.getString(1)%></td>
    	<td><%=rs.getString(2)%></td>
    	<td><%=rs.getInt("editionNumber")%></td>
    	<td><%=rs.getInt(4)%></td>
    	<td><%=rs.getDouble("price")%></td>
    </tr>
    <%}
     	rs.close();
     	stmt.close();
     	dbCon.close();
    %>
    </table>
  </body>
</html>

效果(确保MySQL已经启动) 

以上是关于JSP访问数据库(网上书店项目---创建数据库和JDBC连接数据库测试)的主要内容,如果未能解决你的问题,请参考以下文章

Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)

计算机毕业设计之 [论文+答辩PPT+任务书+源码等]S2SH基于JSP的网上购书系统[包运行成功]

Java项目:基于Jsp实现网上定餐系统

基于SSH的网上图书商城-JavaWeb项目-有源码

如何在浏览器中输入(myeclipse创建的项目的)地址访问JSP页面

Intellij IDEAeclipse项目导入,jsp无法访问解决方法