跳至主要內容
一、MyBatis入门
MyBatis结构

1.1 MyBatis 的下载

​ MyBatis 可以在 Github 官网下载:[ https://github.com/mybatis/mybatis-3 ]

1.2 MyBatis 概述

1.2.1 MyBatis 简介

​ MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者 只需关注SQL语句本身 ,而不用再花费精力去处理诸如注册驱动、创建 Connection 、配置 Statement 等繁杂过程。


hahg大约 13 分钟SSM框架学习MyBatis
二、单表的 CURD 操作

​ CURD 操作,即指对数据库中实体对象的 增 Create改 Update查 Read删 Delete 操作。

2.1 自定义 Dao 接口实现类

2.1.1 修改 Dao 接口

IStudentDao.java:增加 增 、改 、查 、删 这四个接口方法

public interface IStudentDao {
	// 插入
	void insertStudent(Student student);
	void insertStudentCatchId(Student student);

	// 删改
	void deleteStudentById(int id);
	void updateStudent(Student student);

	// 查询所有
	List<Student> selectAllStudents();
	Map<String, Student> selectStudentMap();

	// 查询指定学生
	Student selectStudentById(int id);
	
	// 根据姓名查询
	List<Student> selectStudentsByName(String name);

}

hahg大约 19 分钟SSM框架学习MyBatis
四、查询缓存

​ 查询缓存的使用,主要是为了 提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。

​ MyBatis的查询缓存机制,根据缓存区的作用域(生命周期)可划分为两种:

  • 一级查询缓存
  • 二级查询缓存

4.1 一级查询缓存

​ MyBatis 一级查询缓存是基于 org.apache.ibatis.cache.impl.PerpetualCache 类的 HashMap 本地缓存,其作用域是 SqlSession。


hahg大约 12 分钟SSM框架学习MyBatis
一、SSM前言-系统架构

1.1 三层架构

三层架构指的是:视图层 View、服务层 Service、持久层 Dao

  • View 层:用于接收用户提交请求的代码在这里编写
  • Service 层:系统的业务逻辑主要在这里完成
  • Dao 层:直接操作数据库的代码在这里编写

1.2 MVC

MVC,即 Model 模型、View 视图,即 Controller 控制器。

  • View:视图,为用户提供使用界面,于用户直接进行交互。
  • Model:模型,承载数据,并对用户提交请求进行计算的模块。

hahg大约 2 分钟SSM框架学习Java
三、SSM前言——代理模式

3.1 代理模式

使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。客户类想要访问的对象是目标对象,但客户类真正能访问的对象是代理对象。 客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接口。

可以用生活中的“代理律师”为例,来理解“代理模式”。根据代理关系建立的时间不同,可以将代理分为两类:

  1. 静态代理 —— 法律顾问
  2. 动态代理 —— 代理律师

3.2 Java包的命名


hahg大约 10 分钟SSM框架学习Java
五、SSM框架前言-模板方法设计模式

5.1 引例

​ 在现实生活中,完成某件事情是需要 n 个固定步骤的。如 “在淘宝网进行购物” 这件事情的完成一般需要三个步骤:登录网站、挑选商品、付款。但对于登录网站与付款这两步,每个人都是 差不多 的操作。但对于挑选商品来说,每个人挑选的商品都是不同的。

​ 在软件开发的过程同样存在这样的情况。某类的某个方法的实现,需要几个固定步骤,在这些固定步骤中,对于该类的不同对象,有些步骤的实现是固定不变的,有些是大相径庭的,有些是可变可不变的。对于这种情况,就适合使用模板方法设计模式编程。

​ 模板方法设计模式的定义是:定义一个操作中某种算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类在不该表一个算法结构的前提下,对某些步骤实现 个性化 定义。


hahg大约 3 分钟SSM框架学习Java
六、JUnit测试

6.1 下载 jar 包

​ 使用 JUnit 进行测试,需要导入对于 Jar 包,。

  • JUnit 官网 [ https://junit.org/junit5/ ]

  • JUnit 下载地址 [ https://search.maven.org/search?q=g:junit%20AND%20a:junit ]

  • hamcrest 下载地址 [ http://www.java2s.com/Code/Jar/h/Downloadhamcrestcore13jar.htm ]


hahg大约 1 分钟SSM框架学习Java