MyBatis
Mybatis 使用步骤
创建 mybatis-config.xml 配置文件,设置一些mybatis 的参数,比如和数据库的连接, mapper 声明
通过 SqlSessionFactoryBuilder.build() 创建 SqlSessionFactory 对象
通过 SqlSessionFactory 对象 创建 SqlSession 对象
SqlSession 对象执行 增,删,改,查,最后对记录进行提交或回滚
关闭 SqlSession
MyBatis 缓存
MyBatis 一级缓存默认开启,其作用域是每一个 SqlSession 对象,每一个 SqlSession 对象的查询结果都会被放入缓存,当这个 SqlSession 对象以后再次查询时就能直接从缓存中读取。特别的是当执行完 sqlSession.commit()操作以后,一级缓存会被清空。
MyBatis 二级缓存可以作用于多个 SqlSession 对象之间,起作用范围是同一个 namespace。
二级缓存使用场景:
二级缓存一旦开启就默认整个 namespace 生效。但某些操作并不适合使用二级缓存,比如 查询出来的的结果很大,比如 SELECTALL, 这时候则需要使用 useCache="false" 参数。
什么是 动态 SQL ?
动态 SQL 是指根据参数数据动态组织 SQL 语句的技术。比如一句 SELECT 语句里面可能会出现多个限定条件,比如 可能会出现多个 WHERE 条件判断,也可能不会出现。 举个实际的例子就是逛淘宝,搜索"手机",下面就会有一个筛选框,勾选筛选框里面的条件(比如价格2000以下,内存4G以上),界面就会重新刷新,筛选出符合条件的手机。
Last updated