jdbc mysql 删除数据库连接_JDBC连接数据库实现删除功能

这篇博客介绍了如何利用JDBC和MySQL实现数据库的删除功能。通过在DeleteServlet中编写业务逻辑,使用预编译的SQL语句"delete from tb_book where id=?",根据传入的id值进行删除操作。博主分享了从表单获取id,创建PreparedStatement对象,执行删除操作的步骤,并展示了在DOS下验证数据删除成功的过程。文章还回顾了博主学习JSP、数据库和MVC模式的心路历程。
摘要由CSDN通过智能技术生成

这次同样运用之前写过的部分代码进行改变,实现一个删除功能,这个功能很好添加,表单中只要form一个参数到DeleteServlet中,所以重点的代码还是在DeleteServlet中实现业务逻辑。

我们运用到的SQL语句是.

String sql = "delete from tb_book where id=?";

所以需要表单form的时候要传进一个id值。然后我们根据id值来进行删除该id的数据

1

首先我们先看看本次的工程

61806e6a8dbf5636d98776eb52f90c93.png

FindServlet和Book我们之前有已经有了,可以copy过来不用修改任何代码

index.jsp也不用做出任何修改。

2

我们重点看看一个book_list.jsp和deleteServlet中的代码

book_list.jsp

引入相关的包

b9c488751c99ddaa7012f1e423fd57fd.png

9b3c5c1ebc38d1855aac7a477ad4b53c.png

d086c907a30b158034222c791952da27.png

同样需要一个script来验证输入合法性。

之后再table中添加行列  (有多少行上就有多少个

组合,有多少列就有多少个组合)

通过for循环遍历集合中的数据,并且每一列取出数据的同时,都响应添加一个超链接到

删除

从book实例中取得的getId()值,存入id中,传递到DeleteServlet中。

2

85d10d58cf043b89d231c53be4867368.png

21c2a47e9c943b1665d074a2249f8347.png

值得注意的是

// 获取图书id

int id = Integer.valueOf(request.getParameter("id"));括号中的id是从表单中传过来的,是一个String型需要转型

String sql = "delete from tb_book where id=?";

ps.setInt(1, id);

修改第一个语句中的第一个参数,这里的修改其实就是执行删除操作了。

(PS:这里再次强调一下为什么使用

// 获取PreparedStatement

PreparedStatement ps = conn.prepareStatement(sql);

PreparedStatement的对象,是执行有参数的sql语句进行预处理。知道这个就够了,我百度的时候忙忙的多资料,懒得去理解了。

335c758a4449e1485221bf5ee69c6fa1.png

)

最后

执行一下DOS模式下的Mysql看一下没有修改前的数据。

aee357effbb623537750bab6fec62afa.png

然后运行工程,我点击的是删除第一个

2e9e89152c7571d415075507c5587017.png

再次跳转到本页面(删除后的新页面)  可以看到第一条数据被删除了。

94546387346f3e8db34fc46141d3ee86.png

蛋疼的我再次打开DOS再次验证一下,果真就真被删除了

3a90aaf76a7ce883ec2cb59a870afd0c.png

366951a9f970f8f479671204dd404ffe.png

总结:

我记得自学JSP是从3月24号那天晚上哥哥告诉我什么叫MVC开始的,当时听着真心抽象,然后现在是4月5号,过了差不过11天了。从数据库不知道为何物,连接JDBC的为何。到慢慢摸索,写出一个测试数据库连接成果的代码。

期间发生了很多蛋疼又傻比的事情,

1

比方说,不懂安装Mysql(TNND,我还以为安装了mysql会有一个类似魔兽这样的页面会显示在桌面,擦,其实是没有的);

2

再比方说,安装JDBC还要下载那个什么驱动包,下载了又不知道丢哪里,又得去看了许多百度的资料;

3

再比方说,到了后面才发现,Mysql原来TNND是有一个可视化的操作插件之类的,不用在那个恶心的DOS下看。

4

再后来又发现,原来前几天自学的数据库语句,在JDBC连接的时候仅仅是用到了select这个简单的句子(当然往后可能要用到存储过程)

5

在具体工程的时候,那个跳转页面的url被我自己乱改过,害我调试了半天,都调试不出来。后来才发现是我蛋疼手贱改了web.xml.不过通过我乱改web.xml,也细心观察了一下Servlet添加的时候里面相对应的出现的代码。

6

学会了html的表单,一些常用的html语言,table表之类的运用。当然少补了javascript语句在JSP页面的作用和规范。还有

7

对于MVC的理解更加深入了,随着javaBean的学习,也学会了Eclipse原来有自动生成set get方法的快捷操作。(本来不知道之前我是一点点敲的

bdfe6227cefa4245edf827707801546a.gif)

对于MVC 我现在可以用自己的话来解释一下了。

V就是UI,就是表单可以理解为html

M就是javaBean(也成为useBean)

C自然就是Servlet了。

8

平常新建java的类或者Servlet都是默认全部丢到默认包中的,也就是说,平常我都不设包名的。现在发现还是起一些包名好一些,这样不至于那么乱。比方说,useBean和Servelt都是后缀为.java,如果在设置工程包名的时候不设置的话,会经常性点错。那如果工程大一点之后就可能是不便于维护了。

可以很清楚的理解了javaBean可以说是V和C之间的桥梁。而JSP自学的过程,最最最核心的非Servlet莫属了。尤其是数据库操作的时候。可以说JSP的学习就是Servlet的学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值