1.1 MyBatis 的下载
MyBatis 可以在 Github 官网下载:[ https://github.com/mybatis/mybatis-3 ]
1.2 MyBatis 概述
1.2.1 MyBatis 简介
MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者 只需关注SQL语句本身 ,而不用再花费精力去处理诸如注册驱动、创建 Connection 、配置 Statement 等繁杂过程。
MyBatis 可以在 Github 官网下载:[ https://github.com/mybatis/mybatis-3 ]
MyBatis是一个优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者 只需关注SQL语句本身 ,而不用再花费精力去处理诸如注册驱动、创建 Connection 、配置 Statement 等繁杂过程。
CURD 操作,即指对数据库中实体对象的 增 Create、改 Update、查 Read、删 Delete 操作。
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);
}
查询缓存的使用,主要是为了 提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。
MyBatis的查询缓存机制,根据缓存区的作用域(生命周期)可划分为两种:
MyBatis 一级查询缓存是基于 org.apache.ibatis.cache.impl.PerpetualCache 类的 HashMap 本地缓存,其作用域是 SqlSession。
三层架构指的是:视图层 View、服务层 Service、持久层 Dao
MVC,即 Model 模型、View 视图,即 Controller 控制器。
使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。客户类想要访问的对象是目标对象,但客户类真正能访问的对象是代理对象。 客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一个接口。
可以用生活中的“代理律师”为例,来理解“代理模式”。根据代理关系建立的时间不同,可以将代理分为两类:
在现实生活中,完成某件事情是需要 n 个固定步骤的。如 “在淘宝网进行购物” 这件事情的完成一般需要三个步骤:登录网站、挑选商品、付款。但对于登录网站与付款这两步,每个人都是 差不多 的操作。但对于挑选商品来说,每个人挑选的商品都是不同的。
在软件开发的过程同样存在这样的情况。某类的某个方法的实现,需要几个固定步骤,在这些固定步骤中,对于该类的不同对象,有些步骤的实现是固定不变的,有些是大相径庭的,有些是可变可不变的。对于这种情况,就适合使用模板方法设计模式编程。
模板方法设计模式的定义是:定义一个操作中某种算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类在不该表一个算法结构的前提下,对某些步骤实现 个性化 定义。
使用 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 ]