Mybatis框架

1.说一下mybatis的一级缓存和二级缓存?

        一级缓存:基于PerpetualCache的HashMap本地缓存,其作用域为Session,当Session flush或close之后,该Session中所有缓存就将清空,默认打开一级缓存。

        二级缓存 :与一级缓存机制相同。默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用域为Mapper,并且可自定义存储源

2.mybatis有几种分页方式?

        数组分页

        sql分页

        拦截器分页

        RowBounds分页

3.mybatis总的#{}和${}的区别是什么?

        #{}是预编译处理,mybatis在处理#{}时,会将sql中的#{}替换成?,就是把${}换成变量的值;

使用#{}可以有效的防止SQL攻击。

4,mybatis时ruhe进行分页的?分页插件的原理是什么?

        mybatis使用RowBound对象进行分页,也可以直接编写sql实现分页,也可以使用Mybatis的分页插件

        分页插件的原理:实现mybatis提供的接口,实现自定义插件,在插件的拦截方法内拦截执行的sql,然后重写sql。

5,mybatis的好处?

        ①mybatis把sql语句从java源文件中独立出来,放在单独的xml文件中编写,给程序带来了很大的便利

        ②mybatis封装了底层jdbc API的调用细节,并能自动将结果集转换成java Bean对象,大大简化了java数据库编程的重复工作

        ③因为mybatis需要程序员自己去编写sql语句,程序员可以结合数据库自身的特点灵活控制sql语句。

6,mybatis的缺点

        SQL语句的编写工作量较大,尤其当字段多,关联表多时,对开发人员SQL语句的工地有一定要求。

        SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员慕慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值