第一部分mybatis
1.概念
问题:什么是mybatis,它是怎么工作的?
MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。
知识点:web项目基本的六层(从下往上):
显示层
控制层
业务层
数据操作层
持久化层
数据层
mybatis主要做下面这三层,数据层、持久化层、数据操作层!
理解:mybatis就是jdbc的二次封装,打通java(面向对象)和sql(面向结构)语言。
知识点:mybatis也被成为**ORM(Object/Relation Mapping:对象关系映射)**框架。
理解:对象的最重要的功能就是封装数据。
理解:对象数据是在内存,数据库数据在硬盘,要想把内存放到硬盘,这里就是用mybatis。
2.工作原理(步骤)
3.基础项目
1.先搭建数据库
2.创建poji
3.mapper
先搞个xml文件,里面写sql语句
细节:namespace区别不同文件里相同的名称。
4.mybatis核心
sqlsession为mybatis的核心
遇到线程不安全的问题
sqlsession不能当作全局,一次请求用一次sqlsession。
mybatis核心配置文件中的属性顺序:
5.动态sql
if元素
choose、when、otherwise元素
trim、where、set元素
foreach元素
test属性判断字符串
bind元素
6.关系映射
教训:resultmap关系映射的时候,因为实体类中创建了有参构造而没创建无参构造,导致映射不了。