o(* ̄︶ ̄*)o

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

MyBatis笔记
第1章--MyBatis日志管理与动态SQL

日志门面(统一调用接口2两种)与实现(常见:log4j、logback、java.util.logging...)

Logging Facade For Java
Apache Commons-logs

增加依赖:ch.qos.logback
MyBatis会自动调用logback
配置文件:logback.xml固定文件名
配置内容:指定类,输出格式,日志级别
logback官网查看文档,如何配置

如何编写动态SQL
where变成标签,则where会根据是否有后续条件,自动生成。

 

 

--MyBatis二级缓存

手动开启,归属map.xml中命名空间,并被所有一级缓存共享
二级缓存下,所有查询操作均使用缓存。
commit后,清空命名空间下所有缓存(处理一级缓存,无法获取最新数据问题)。
多用户操作,保证数据一致。

//缓存及范围
同一条SQL两次执行,则只执行一次(一级缓存)

//开启配置
<cache eviction="算法选择" flushInterval="缓存清理间隔时间" size="缓存大小” readOnly="true">

//共用sqlsession,利用commit处理问题,

二级缓存算法:LRU超出部分,先杀最早的那个,超出的放进任务去执行。
FIFO先进先出
SOFT软引用(不推荐)
WEAK弱引用(不推荐)

查询语句中,增加选项useCache="false",是否使用缓存
查询语句中,增加选项flushCache=“true”,执行是否强制清空缓存,无需手动commit();


--第3章OneToMany对象关联查询
->多对1查询
->1对多查询
标签--》association


---第4章PageHelper分页
分页查询
注意手动转义字符 > 变成 &lt;

mysql关键字limit 开始行,结束行


--第5章MyBatis整合C3P0连接池
不用自带的连接池,使用c3p0连接池
引用依赖包


--第6章MyBatis批处理
批量处理,例如插入,更新等
标签《foreach collection="集合类型” item="单项名",index="索引名”seqarator="分隔符号,默认填写逗号"》

--第7章MyBatis注解开发
配置文件添加标签<mappers>指定类或包


接口类interface+注解(如下):替代xml 如下
@Insert
@Update
@Delete
@Param(“语句中的参数”)
@select "sql语句 where #{方法的参数}"

调用通过getMapper(接口类.class); 获得接口实例
实例调用注解代码。

posted on 2024-05-06 13:06  熊本熊の熊  阅读(1)  评论(0编辑  收藏  举报