学习笔记是参考的how2j

本章笔记的目的是介绍如何与JDBC结合,通过servlet对数据库中的数据进行增、删、改、查。

一、前期准备

1、新建一个Dynamic Web Project 步骤为:file-new-other-Dynamic Web Project-next-项目名为【servlet_CURD】-finish,配置如下图。




java 增删改查mysql javaee增删改查_商品品牌信息的增删改查操作步骤


2、新建三个包,bean、dao,在三个包中分别创建类Hero、HeroDAO,配置如下图。


java 增删改查mysql javaee增删改查_数据库_02


3、右键项目名,新建一个文件夹lib,在电脑中找到tomcat目录D:tomcat7-8080-eclipselib下的servlet-api.jar复制到刚刚建立的lib文件夹中。

同时在电脑中找到自己的mysql-jdbc驱动包,比如我的是mysql-connector-java-5.1.39-bin.jar放到项目目录WEB-INF/lib目录下。

然后对刚刚复制到项目中的两个jar包执行build path-add build to path,此时整个项目的结构如下:


java 增删改查mysql javaee增删改查_xml_03


4、在Hero类中写程序

我们使用的数据库中的数据是这样的,每个英雄对应4个属性,id、name、hp、damage


java 增删改查mysql javaee增删改查_数据库_04


因此要在Hero类中,定义4个属性,并添加setter和getter方法。


package


5、在HeroDAO类中写程序

这个类中主要提供对数据库进行操作的方法,比如增删改查。当然这个类只是对数据库进行操作,如果要想通过在网页上执行这些操作,还需要其他的步骤,后面会讨论。

程序如下,带有注释:


package


6、想要从数据库中进行数据的操作,必须有对应的数据库和表,比如从上面程序中可以看出来,我的数据库名是how2j,且这个数据库下有一个表叫做hero;如果没有的话可以新建一个how2j数据库,然后再新建一个表;


#先执行这一句新建数据库


二、Servlet查询

上面做了一些准备工作,基于上面的工作,我们这一节主要目的是把hero表中的所有英雄信息都显示到网页上。

1、新建包servlet且在包内新建类HeroListServlet,然后在类中写程序如下:


package


2、配置xml文档

在WEB-INF下新建web.xml文档,然后在里面写入配置信息,如下。


<?xml version="1.0" encoding="UTF-8"?>


3、启动tomcat

项目名右键-run as-run on server-next-add all-finish


java 增删改查mysql javaee增删改查_商品品牌信息的增删改查操作步骤_05


然后在新出现的页面中输入网址http://localhost:8080/servlet_CURD/listHero,可以看到在网页上显示了从数据库中查询到的数据。


java 增删改查mysql javaee增删改查_java 增删改查mysql_06


三、Servlet添加数据

本节目的是在网页上输入一个新英雄的数据,添加到数据库中,并在网页上显示添加后的所有数据。

1、在WebContent目录下新建addHero.html

注意,一定要在WebContent目录下建立文件,否则按照下面的步骤,最后可能访问不到这个网页。

这个html文件主要负责在网页上显示出来输入框,和提交按钮。

写入如下程序:


<!DOCTYPE html>


2、新建类HeroAddServlet

这个类的作用是,获得addHero.html输入的数据,新建一个Hero对象,并添加到数据库的表中。


package


3、运行项目

右键项目名-run as-run on server...

在弹出来的界面里面输入网址http://localhost:8080/servlet_CURD/addHero.html,在弹出来的网页中输入要添加的英雄的信息。


java 增删改查mysql javaee增删改查_数据_07


然后点击添加按钮,跳转到listHero界面,如下图,可以看到添加成功。


java 增删改查mysql javaee增删改查_xml_08


Servlet删除数据

1、修改HeroListServlet

原来访问listHero页面的显示如下,


java 增删改查mysql javaee增删改查_xml_09


现在想要在最右端增加一列delete,且delete在网页上是个超链,点击delete就可以删除对应的数据。

修改后的程序如下,被修改的地方已经添加了注释


package


然后右键项目名-run as-run on server...,在弹出来的界面输入网址http://localhost:8080/servlet_CURD/listHero,显示的界面如下,但是这个时候点击delete会报错,因为没有为超链delete指明跳转到什么地方,


java 增删改查mysql javaee增删改查_商品品牌信息的增删改查操作步骤_10


2、编写HeroDeleteServlet类

这个类负责删除对应的数据,程序如下


package


3、配置web.xml

上面两部分完成之后,在web.xml文档中要指明在网页上点击delete后执行什么操作,在xml文档中添加以下程序


<servlet>


全部的xml文档如下


<?xml version="1.0" encoding="UTF-8"?>


4、重启tomcat,也就是右键项目名-run as-run on server...

在界面上输入网址http://localhost:8080/servlet_CURD/listHero,界面如下:


java 增删改查mysql javaee增删改查_java 增删改查mysql_11


点击第一个delete,删除id为10的英雄信息,执行完删除操作后会跳转到listHero页面,如下,可以看到删除成功。


java 增删改查mysql javaee增删改查_java 增删改查mysql_12


5、执行步骤解析

这个地方有点复杂,为了辅助理解,说明一下程序的执行步骤


java 增删改查mysql javaee增删改查_数据_13


Servlet更新数据

本节目标是,在listHero中再新增一列edit,edit是一个超链,点击edit就会跳转到一个信息输入界面,把对应英雄的信息进行更新

1、修改HeroListServlet

修改HeroListServlet主要是为了增加一列edit超链,程序如下:


package


java 增删改查mysql javaee增删改查_java 增删改查mysql_14


当然这个时候,点击edit会报错,因为没有为超链制定任何操作。

2、新建类HeroEditServlet

下面为超链指定操作,一点击超链edit就会执行HeroEditServlet中的代码。


package


所以,点击一个edit之后,界面显示是这样的,会把这个英雄现有的信息先显示出来,这个时候点击更新会报错,因为虽然制定了点击【更新】会去执行updateHero的代码,但是updateHero还没有写,所以会报错。


java 增删改查mysql javaee增删改查_商品品牌信息的增删改查操作步骤_15


3、编写HeroUpdateServlet


package


比如我们点击了id为6的英雄对应的edit,跳转到了编辑页面,输入了新的信息,比如


java 增删改查mysql javaee增删改查_xml_16


然后点击更新,可以看到跳转到新的页面,且信息被更新了


java 增删改查mysql javaee增删改查_xml_17