实习第二天——JDBC的封装、层次架构

本文介绍了JDBC封装的好处和实现步骤,包括获取驱动、创建连接、执行SQL等,并详细讲解了JDBC的三层架构(DAO、Service、Web层)的概念、优缺点及其在实际项目中的应用,例如在注册登录功能中的实现流程。
摘要由CSDN通过智能技术生成

实习第二天——JDBC的封装、层次架构
一、为什么要进行JDBC的封装?
我的理解是进行JDBC的封装可以有利于后期的代码修改和维护,有利于代码复用、简化了数据库的操作,主要是提高了编程效率。
二、如何实现封装?
1、获取驱动
Class.forName(“com.mysql.jdbc.Driver”);
2、创建连接
conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/heizhu?useSSL=false”,“root”,“1234”);
3、编写SQL语句
String sql=“select * from user where uid=?”;

4、获取对象
pstm = con.prepareStatement(sql);

5、执行并返回结果
ResultSet rs = pstm.executeQuery();

6、处理结果
if(rs.next())
{
String password=rs.getString(3);
String uname=rs.getString(2);
System.out.println(uname+":"+password);
}else {
System.out.println(“没有结果”);
}

7、关闭资源
Jdbc_Conn3.mysqlcolse(con, pstm, rs);

三、JDBC的基本方法介绍
①execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

②update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

③query方法及queryForXXX方法:用于执行查询相关语句;

④call方法:用于执行存储过程、函数相关语句。

四、JDBC的三层架构

1、介绍
①数据访问层(DAO Data Access Object) :也叫持久层,主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,
是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
②业务逻辑层(Service):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积
木,那逻辑层就是对这些积木的搭建。
③表示层(web层):主要表示用户的操作终端,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

在这里插入图片描述

2、优缺点
(1)优点:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
6、结构更加的明确
7、在后期维护的时候,极大地降低了维护成本和维护时间
(2)缺点
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,
如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合
分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3、增加了开发成本。

例:使用三层架构完成注册登录的功能

1、先创建空项目

2、创建包和类

-web包:用来存放登录注册的servlet,与web相关的类

-service包:用来处理业务逻辑:

-dao包:用来负责处理用户数据:

-domain包:创建User类,是- -个javabean (领域对象,entity)

3、代码的实现

我们一般是jsp页面将表单数据传入servlet

servlet依赖service层来处理具体业务逻辑

service层依赖dao层来进行数据的处理

登录流程:

1、创建login.jsp完成登陆页面

2、登陆页面中的表单提交给LoginServlet

3、LoginServlet将对象封装,调用service的login方法来处理具体的业务逻辑

4、UserService的login方 法

-检测有没有该用户,没有的话就抛出异常

-有的话,检测密码是否正确,不正确就抛出异常,正确就返回user对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值