MVC模式
Posted 拿红罗卜钓鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MVC模式相关的知识,希望对你有一定的参考价值。
早期的
Javaweb
项目,将全部的内容编写在
jsp
页面中,不仅编写
html
页面样式,同时还写
Java
代码;导
致页面内容非常繁杂,一旦发生错误,出现
bug
,调试成本非常高;
MVC
设计模式,针对项目架构进行设计,将整个项目的代码分成几个包,每个包里用来编写哪种内容;
M
:
Model
层,模型层,保存数据的层
JavaBean
,用来接收数据所使用的类;存储数据
Bean
业
务逻辑
Bean
V
:
View
层,视图层,就是给用户展示数据的层,包含页面的样式,
html
、
jsp
C
:
Controller
层,控制层,控制页面跳转,控制页面中显示的内容;
servlet
MVC
设计模式,不是独属于
Java
的,而是适用于所有的
B/S(
浏览器
/
服务器
)
项目;
Java
出了独有的 三层架构模式
页面层:
web
层,程序中所有和页面有关的内容,都归属于
web
层,包含页面、页面跳转、页面数据
相当于
MVC
中的
V
和
C
业务逻辑层:
service
层,用来处理业务请求,相当于
MVC M
持久层:
dao
层,所有和数据库打交道的内容,都归属于
dao
层,就是使用
Java
操作数据库进行
增、删、改、查;相当于
MVC M
java
中的容器:保存数据的
变量、数组、集合
(List Set Map)
、对象
根据三层架构和
mvc
模式,将
Javaweb
项目设计为:
(
将项目进行分层,分包
)
src
下的包:
model
包:用来写
JavaBean
类
dao
包:用来进行和数据库之间打交道
service
包:用来对项目中的业务做处理
servlet/controller
包:用来写页面跳转的类、数据传递的类;
Servlet
将页面内容全部放在
web
文件夹下编写;
util
包:(工具包) 针对项目中的额外工具而创建的;
JDBC
2
、告诉程序,我要使用的数据库是哪一个;加载相应的数据库驱动;就是创建一个
MySQL
的数据库
对象;
Class.forName("com.mysql.jdbc.Driver");
3.
知道了是哪一个数据库,接着就要连接到数据库哪一个库中;要指定连接的库的名称,以及使用
的用户名、密码
指定连接的库的名称 :
url:
标准格式 三部分
jdbc:
各个厂商自己规定的连接写法
mysql://localhost:3306
连接的数据库
及参数
/db?key=value&k2=v2
如:
jdbc:mysql://localhost:3306/db?characterEncoding=utf8
用户名:
root
密码:
root/123456
通过上一步的驱动加载,会告知程序中驱动管理器,接着可以使用驱动管理器将
url,username,password
发送给数据库,从获取一个
Java
与
mysql
数据库之间的连接;
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "root");
4.
通过连接,创建一个查询编辑器
(
可以用来编写
sql
语句,并且执行的
)
,
Statement statement = connection.createStatement(); statement
对象就是
查询编辑器,可以执行
sql
语句
5.
编写一条
sql
语句,并执行
,
执行
DML
语句,得到受影响行数
int update = statement.executeUpdate("insert into dept values (50,'
实
训部
','
郑州
')");
6.
执行完毕后,将全部资源进行关闭,先创建的后关闭,后创建的先关闭;
statement.close();
connection.close();
DQL:
前
4
步与
DML
操作相同;
5.
编写一条
sql
语句,并执行
,
执行
DQL
语句,得到结果表
ResultSet resultSet = statement.executeQuery("select * from dept ");
6.resultSet
结果集,记录的是当前查询出来的内容,是一条内容,从第一行上方开始
(
即列名行
),
因为不知道查询出来的结果有多少行,所以需要使用
while
遍历的方式,进行每行数据的查
询;循环条件为
resultSet.next()
通过
resultSet.get
数据类型
(
第几列
)
获取到数据库中当前行的第几列的值 如
resultSet.getString(2);
7.
执行完毕后,将全部资源进行关闭,先创建的后关闭,后创建的先关闭;
resultSet.close()
statement.close();
connection.close();
以上是关于MVC模式的主要内容,如果未能解决你的问题,请参考以下文章