选择题20分,填空10分,判断10分,2道5分的简答,2道程序阅读题,程序修改,16分的编程大题
题库要认真做包括大约40分的题目,会有几分超纲题,可以反推出答案。
简答题不在题库里,对于书上的概念可以背诵,也可以根据关键词写出自己的理解。
下面对要复习的部分做出总结,仅供参考,如有错误还望各位能不吝赐教。
一 MyBatis
1.1 初识框架
软件框架就是一种工具包,包含程序、编译器、代码、库、工具集和API。
1. 当前主流框架
(1)Spring
特点:分层,整合。为POJO提供企业级服务。
(2)Spring MVC
一个Web开发框架,采用松耦合、可插拔的组件结构。
(3)MyBatis
前身是iBatis。MyBatis一个优秀的持久层框架,可以在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM(Object Relational Mapping,对象关系映射)实现。MyBatis的封装性低于全自动的Hibernate,但它性能优越,简单易学。
注:半自动化即需要人为配置。
(4)Spring Boot
基于Spring开发的全新框架,设计初衷是为了简化Spring的配置,使用户能构建独立运行的程序,提高开发效率。
(5)Spring Cloud
是一系列框架的有序集合,为开发人员构建微服务架构提供了完整的解决方案,简化分布式系统的开发。可以说,Spring Cloud将Spring Boot框架进行了再封装。
2. MyBatis概述
MyBatis是一个支持普通SQL查询、存储以及高级映射的持久层框架,使用简单的XML或注解进行配置和原始映射。相当于把Java中的属性通过MyBatis映射成数据库表中的列名。
MyBatis是一个ORM框架,ORM就是一种为了解决面向对象与关系型数据库中数据类型和名称不匹配的技术。
3.MyBatis的入门编程
- 通过mybatis-config.xml这个文件,本质上是在表述需求:告诉框架要操作哪个数据库以及配置数据源datasource,要能看懂代码。
- UserMapper.xml映射文件是在规定映射规则,告诉框架需要完成对哪个对象的哪些操作。
- 测试类:就是读文件,把XML文件翻译成机器能看懂的字节流,Reader方法。
- 还要知道传参,结果返回。
4.MyBatis的核心对象
SqlSessionFactoryBulider,SqlSessionFactory,SqlSession
以及它们之间的关系
(1)SqlSessionFactoryBulider
build重载方法
(2)SqlSessionFactory
openSession方法
(3)SqlSession
selectOne,selectList
commit,rollback,close以及什么时候用这些方法
5.配置文件的主要元素
图2-2
<mappers>元素使用类路径引入
<mappers>
<mapper resource="com/itheima/mapper/UserMapper.xml"/>
</mappers>
6.映射文件的主要元素
<mapper>映射一个实体类的具体操作,该元素的属性只有namespace
<select>映射查询语句,必须有id,resultType,【区分resultType,resultMap】
<insert>插入语句
<update>更新语句
<delete>删除语句
<sql>SQL代码片段
<resultMap>结果映射集,id,result
注解 @Before @Test @After
二、动态SQL
2.1 条件查询
1.<if>
但凡满足条件就往下拼接,格式<if test=" ">
2.<choose><when><otherwise>
多个条件只选择一个,一旦满足条件就拼接,之后的哪怕也满足条件仍不拼接
3.<where><trim>
<trim>元素的四个属性,两种写法
2.2 复杂查询
<foreach>
常和SQL里的in结合使用,场景:枚举
可以迭代数组,List,Set
三、Spring
3.1 概述
1.概念:Spring是一个分层的一站式开源框架,核心理念:控制反转IoC,面向切片编程AOP
2.优点:非侵入,耦合性低,支持AOP,支持声明式事务,测试方便,便于集成其他框架,API使用简单
3.核心容器:Beans,Core,Context,SpEl
3.2 控制反转和依赖注入
定义
3.3 Bean管理
1. BeanFactory接口, getBean方法
2.ApplicationContext接口,怎么获取,怎么使用
3.Bean配置:id,class,name
4.Bean的实例化
(1)构造方法:无参构造,创建空对象
(2)静态工厂:static,类名.方法名
(3)实例工厂:new对象之后,对象名.方法名
5.Bean的作用域
单例模式singleton 原型模式prototype
6.装配方式
(1)setter
(2)注解
7.生命周期:单例和原型的区别