一:mybas 中#{}和${}的区别是什么?
是预编译处理,是字符串替换。
在处理时,会将 中的替换为号,调用 的 方法来赋
值;
在处理时,就是把替换成变量的值。
使用可以有效的防止 注入,提高系统安全性。
一般能用的就别用
方式一般用于传入数据库对象,例如传入表名
二:Mybas 是如何进行分页的?分页插件的原理是什么?
使用 对象进行分页,它是针对 结果集执行的内存分页,
而非物理分页,可以在 内直接书写带有物理分页的参数来完成物理分页功能,也可以使
用分页插件来完成物理分页。
分页插件的基本原理是使用 提供的插件接口,实现自定义插件,在插件的拦
截方法内拦截待执行的 ,然后重写 ,根据 ! 方言,添加对应的物理分页语句和
物理分页参数。
三:Mybas 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理
动态 可以让我们在 " 映射文件内,以标签的形式编写动态 ,完成逻辑判断
和动态拼接 的功能, 提供了 # 种动态 标签 $%$$&!%$ &$!%$
%$% $ 。
其执行原理为,使用 '() 从 参数对象中计算表达式的值,根据表达式的值动态拼接
,以此来完成动态 的功能。
四:Mybas 的一级、二级缓存
*)一级缓存+基于 ,!%的 -%本地缓存,其存储作用域为 ,
当 .%或 !之后,该 中的所有 ,!%就将清空,默认打开一级缓存。
/)二级缓存与一级缓存其机制相同,默认也是采用 ,!%,-%存储,
不同在于其存储作用域为 0)!1,并且可自定义存储源,如 2%!!%。默认不
打开二级缓存,要开启二级缓存,使用二级缓存属性类需要实现 3 序列化接口0可
用来保存对象的状态14可在它的映射文件中配置5!!%67;
8)对于缓存数据更新机制,当某一个作用域0一级缓存 6二级缓存 )!1
的进行了 ,696:操作后,默认该作用域下所有 !中的缓存将被 !。
五:使用 MyBas 的 mapper 接口调用时有哪些要求?
; 接口方法名和 < 中定义的每个 的 相同;
= 接口方法的输入参数类型和 < 中定义的每个 的 > 的
评论0