Mybatis是什么?
Mybatis是一个基于Java的持久层框架。
什么是持久化?
数据从瞬时状态(ram类型关机以后下次就没了)变为持久状态。
什么是持久层?
完成持久化工作的代码块。--Dao
Mybatis作用就是帮助程序员将数据存入数据库,和从数据库取出数据。
最直观的作用是减少重复代码,提高开发效率。
Mybatis是一个半自动化的ORM框架。O--object,R--relationship,M-mapping。
insert语句如果用了自增键,在insert里面要加个属性useGeneratedKey="true",表示自增,不过默认也为true。
#{属性}这里会自动调用entity属性的get方法,自动获取到这个属性的值,所以属性值必须对象entity属性。
执行流程:
读取核心配置文件——>sqlSessionFactory类——>sqlSession——>执行相关操作。
可以通过association(关联属性)或者collection(集合)的配置进行多表查询,即外键的使用。
动态sql语句有什么用处?
当查询条件不确定的时候使用动态sql。
Mybatis的功能架构可以分为三层:
1.API接口层:提供给程序员使用的接口,这样程序员才能操纵数据库。接口层收到调用请求就会调用数据处理层来完成具体操作。
2.数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要目的是根据调用的请求完成一次数据库操作。
3.基础支持层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。