java pdf增删改查_JDBC----连接数据库的桥梁(下)之增删改查

在(上)https://zhuanlan.zhihu.com/p/113923496中介绍了什么是JDBC,JDBC的作用,还有他是如何连接数据库的。这里就对数据最基本最简单的增删改查的操作进行陈述,废话不多说,来吧!

这一节呢,我们对数据库s-c下的j表进行增删改查(默认是知道数据库的操作咯)

b012e5e742f78c522bf53298553709ea.png

接下来我们来看看表的属性,一共就3个属性:

ac4b5671621d17e8cba8c237f44158fa.png
该表来源于课本示例

然后我们来说说java这边。先给大家看一下项目的结构:

cd34095d26e48f6fae4c86f35190ff4b.png

看得出来每一个包做什么是非常明晰的。这里简单说一下MVC(Model-View-Controller),mvc是一种架构模式,程序分层,分工合作,既相互独立又协同合作。它有3个基本部分:模型层,控制层,视图层。

模型层(Model):通常是多个业务实体类的组合

控制层(Controller):调用业务逻辑产生合适的数据,传递数据给视图用于呈现

视图层(View):为用户提供界面。

就好比什么呢?有一个大型加工厂,一共有3个车间,第一个车间是原料区也就是我们的Model层,里面有很多的java类,涉及到了各个实体的属性。第二个车间就是对原料进行加工,也就是我们的控制层,对数据进行操作(增删改查之类的)。将加工后的产品就放在展览区进行展览,也就是我们的视图层,将处理后的数据放到视图层进行呈现。

这个项目就是采用的MVC架构(迷你版~)。第一步肯定是连接数据库,也就是我们的DBUtil这个工具类,在(上)中详细讲过,这里也就不讲了,不知道的小伙伴们可以去看看:

对于mvc架构,有的人喜欢按照这样的顺序写:模型层---控制层---视图层。好滴,我就是这样的有的人(哈哈哈)。也有的喜欢先写视图层,这个就看个人吧,反正写好算事。

模型层:

4c64b54815349093127ef238044c798c.png

它的数据类型是根据j表的字段进行创建的。然后写对应的get,set方法,有一个快捷的方法。就是右键点击空白处---source---生成Getter和Setter,一键生成。

f794177723035d1c4c7244046d60ae70.png

重写toString()方法:

f8a63e821e96cab6991a938c735ee868.png

也可以按照上面说的直接生成:右键点击空白处---source---生成toString().

再分别写一个无参和带参构造函数:

9bd45dac05fe38503dd7b31b94a9511b.png

所以,总结一下,模型层主要写这么几个东西,当然格式不是固定的,根据实际需要可能会有其他的函数等:

  • 数据
  • get和set方法
  • 构造函数
  • toString()方法

控制层:

就是写对数据是如何进行操作的,这里只写了最基本的增删改查操作:

b00997468da70f755f2770c99441d955.png

3d468724a763ef858ae4b68798df369e.png

这里要重点说一下,数字是几就对应第几个问号。不管是setInt还是setString都需要与?对应的数据类型对应起来,比如说第一个问好是JNO,他的数据类型是int,所以就应该是setInt.

6ab10edd81811852952215379058bc4e.png

f4f186b75fd1295d1fb3f74c335029cf.png

37cacaeb39f3f8a3d66ef8e2ac1fe2cc.png

这就是增删改查的具体实现。有几点需要注意,虽然我在select方法中,sql语句写的是select from j. 写 主要是图方便,但是呢,在实际开发的时候最好写全列名也就是 select JNO,JNAME,CITY from j,因为写*的话,系统内部还有一个将他全部翻译成列名的步骤,效率就会降低。另外再说一下PreparedStatement的execute方法和executeQuery方法。

execute():执行sql语句,该语句可以是任何种类的sql语句。返回boolean.

executeQuery():执行sql查询,并返回查询生成的结果,也就是ResultSet对象。

最后是视图层,视图层就根据自己的想法将结果显示出来就好来了。没有什么特别需要说明的。看下最终的效果吧:

2341531846ae621edee7b78ef89dba94.png

b0217e843ef918b3c30e370b7581c4a7.png

12c9d66a4560958a6f42a62f4b20e383.png

42f7f1f6b8f4cf496e699c6214bddf93.png

说明几点:

  • 这里对数据库的操作使用的语句就比较简单只是对一张表进行操作(就像是小样),还没有涉及到多表的关联等,还有一些高级搜索where,group by等都没有涉及到。大家可以举一反三自己尝试一下。
  • 代码和表已经上传至网盘,可自行查看

链接:https://pan.baidu.com/s/1nlVZNLC8VE5IIO7IVg-DEg

提取码:nvmn

链接:https://pan.baidu.com/s/12KWbP8AY9Nne0wddPsKebQ

提取码:fbjb

  • 不清楚如何连接数据库的可以先查看这篇文章:
演绎法5919:JDBC---连接数据库的桥梁(上)之搭建桥梁与解决常见报错​zhuanlan.zhihu.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值