文章目录
三层架构和SSM框架的对应关系
一、什么是框架?
框架( Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。
通俗的讲,它是软件开发中的一套解决方案,不同的框架解决的是不同的问题。
* 使用框架的好处:
封装了很多的细节,使开发者可以使用极简的方式实现功能,大大提高开发效率~
返回顶部
二、三层架构
- 表现层:展示数据
- 业务层:处理业务需求
- 持久层:与数据库交互

三层架构分为:表现层(UI)(web层)、业务逻辑层(BLL)(service层)、数据访问层(DAL)(dao层) ,再加上实体类库(Model)
1.实体类库(Model),在Java中,往往将其称为Entity实体类。数据库中用于存放数据,而我们通常选择会用一个专门的类来抽象出数据表的结构,类的属性就一对一的对应这表的属性。
·一般来说,Model实体类库层需要被DAL层,BIL层和UI层引用。
2.数据访问层(DAL — dao层 ),主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作
·DAL就是根据业务需求,构造SQL语句,构造参数,调用帮助类,获取结果,DAL层被BIL层调用
3.业务逻辑层(BLL — service层)
·BLL层好比是桥梁,将UI表示层与DAL数据访问层之间联系起来。所要负责的,就是处理涉及业务逻辑相关的问题,比如在调用访问数据库之前,先处理数据、判断数据。
返回顶部
三、持久层技术解决方案
- Connection
- PreparedStatement
- ResultSet
- 它和SpringJdbcTemplate很像,也是对jdbc的简单封装
以上这些都不是框架,JDBC是规范,Spring的JdbcTemplate和Apache的DBUtils都只是工具类
返回顶部
四、Jdbc编程的分析
主要回顾
public class dbHelper {
// 添加数据库配置信息
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DATABASE_URL ="jdbc:mysql://localhost:3306/jdbc";
static String username="root";
static String password="123456";
// 常用对象
static Connection conn = null;
static PreparedStatement preparedStatement = null;
static Statement statement = null;
static ResultSet resultSet = null;
/**
* 连接数据库
*/
public static Connection getConn(){
try {
// 1.加载驱动
Class.forName(JDBC_DRIVER);
// 2.使用DriverManager创建连接
conn = DriverManager.getConnection(DATABASE_URL,username,password);
} catch (Exception e){
e.printStackTrace();
}
return conn;
}
/**
* 进行查询
*/
public static void select(String sql){
try {
getConn();
// 通过conn创建statement,帮助执行sql语句
statement = conn.createStatement();
// 执行sql语句存入结果集
resultSet = statement.executeQuery(sql);
System.out.println(resultSet);
// 输出查询结果
System.out.println("id\t|name\t|sex\t|email\t\t\t|birthday");
// 遍历结果集获取表记录
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
String email = resultSet.getString("email");
Date birthday = resultSet.getDate("birthday");
// 输出结果
System.out.println(id+"\t|"+name+"\t|"+sex+"\t\t|"+email+"\t|"+birthday);
}
} catch (Exception e){
e.printStackTrace();
}
}
/**
* 关闭资源
*/
public static void close(){
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (preparedStatement!=null){
try {
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement!=null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
返回顶部