01-2、三层架构和ssm框架的对应关系

目录

 

1、什么是框架?

2、使用框架的好处?

3、三层架构

4、持久层技术解决方案

5、jdbc操作数据库的问题

6、Mybatis框架概述


1、什么是框架?

  • 软件开发中的一套解决方案,不同的框架解决的是不同的问题;
  • 框架,是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;
  • 框架,是可被应用开发者定制的应用骨架;
  • 框架,就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统;
  • 框架,一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。

 

2、使用框架的好处?

  • 框架封装了很多的细节,使开发者可以使用极简的方式实现功能,大大提高开发效率。
  • 将应用自身的设计和具体的实现技术解耦,研发将集中在应用的设计上,而不是具体的技术实现;
  • 技术实现是应用的底层支撑,不应该直接对应用产生影响。

 

3、三层架构

表现层:用于展示数据的;

业务层:处理业务需求;

持久层:和数据库交互;

 

4、持久层技术解决方案

  • JDBC技术:Connection、PrepareStatement、ResultSet
  • Spring的JdbcTemplate:Spring中对jdbc的简单封装;
  • Apache的DBUtils:它和Spring的JdbcTemplate很像,也是对Jdbc的简单封装;
  • 以上都不是框架JDBC是规范Spring的JdbcTemplateApache的DBUtils都只是工具类

 

5、jdbc操作数据库的问题

  • 加载数据库驱动,获取数据库链接Connection,定义sql语句,获取预处理PreparedStatement,查询结果集ResultSet,遍历查询结果集,释放资源,传统JDBC,每次都要编写,重复工作,需要简化;
  • 用mybatis框架,只需要编写sql语句,其他由框架实现;

JDBC操作数据库的代码:没有使用mybatis框架代码简洁

import org.junit.Test;
import java.sql.*;

public class jdbcTest {
    @Test
    public void mysql() throws SQLException {
        Connection connection =null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 通过驱动管理类获取数据库链接connection
            connection = DriverManager.getConnection("jdbc:mysql://192.168.171.131:3306/mybatis?characterEncoding=utf-8","root","root");
            // 定义sql语句?表示占位符
            String sql = "select * from user where username = ?";
            // 获取预处理preparedStatement
            preparedStatement = connection.prepareStatement(sql);
            // 设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值
            preparedStatement.setString(1,"小王");
            // 向数据库发出sql执行查询,查询出结果集 resultSet
            resultSet = preparedStatement.executeQuery();
            // 遍历查询结果集 resultSet
            while(resultSet.next()){
                System.out.println(resultSet.getString("id") + " " +
                        resultSet.getString("username"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            // 释放资源
            if(resultSet!=null){
                resultSet.close();
            }
        }
    }
}

6、Mybatis框架概述

  • mybatis是基于java的持久层框架;
  • 它内部封装了jdbc,使开发者只需要关注sql语句本身,而不需要花费精力去处理加载驱动、创建连接,创建statement等繁杂的过程;
  • mybatis通过xml或注解的方式,将要执行的各种statement配置起来
  • 通过java对象和statement中sql的动态参数,进行映射,生成最终执行的sql语句;
  • 最后由mybatis框架执行sql,并将结果映射为java对象,并返回;
  • 采用ORM思想解决了实体和数据库映射的问题,对jdbc进行了封装,屏蔽了jdbc api底层访问细节,不用与jdbc api打交道,就可以完成对数据库的持久化操作;
  • ORM:Object Relational Mapping 对象关系映射
  • ORM,就是把数据库表和实体类及实体类的属性对应起来,让我们可以操作实体类就实现操作数据库表;
  • 实体类中的属性数据库表的字段名称要保持一样;

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值