mybatis面试必会100道题 重学Mybatis,五-------分页
博主将会针对Java面试题写一组文章,包括J2ee,SQL,主流Web框架,中间件等面试过程中面试官经常问的问题,欢迎大家关注。一起学习,一起成长,文章底部有面试题。
分页:分页是一种通过表数据分段展示给用户的技术。使用户每次看到的是其中一部分数据,而非全部数据,就和我们翻阅电子书或者阅读书籍类似。分页能加快页面反应速度,增强用户使用体验。
古典JDCB实现分页:先查询出总的条数,用于计算总页数;
select count(1) from 表 where 条件;
再根据pageNum和pageSize计算出startRownum和endRownum;
再拼接sql时,拼接入startRownum和endRownum,用于获取分页数据;
以下是Oracle分页demo:
select *from (select t.*,rownum rn from (select *from 表 where 条件 order by 字段 )t)a where a.rn>=搜索开始行 and a.rn<= 搜索结束行
最后处理resultSet结果集,关闭connection。
Mybatis分页简介(方言为mysql时):mybatis提供了RowBounds分页,
return userDao.queryObjectByPage(name, new RowBounds(start, limit));
这种分页不适合大量数据存在的情况。而实际工作中,往往数据量比较大,最实用分页的实现方式还是运用拦截器实现,支持根据不同数据库配置不同分页sql的方言。
拦截器实现简易分页核心代码如下:
面试拓展:昨日回顾
1.mybatis 如何防止sql注入。
#号的入参时候,mybatis在拼接sql后,会进行预编译。不会直接用入参对象的值直接替换,而是将待替换的值先用?(问号)代替,执行时,直接使用编译好的SQL,替换占位符“?”就可以了。这样就很好避免了sql注入的风险。
$号入参会有sql注入风险。
今日问题
1.谈谈返回映射中resultMap和resultType区别。
-------------
写的不好,如果大家有更高的见解欢迎评论。
- 05-28如何辨别自己使用什么样的口红?教你挑出无毒又好用的口红
- 12-12脑子有病系列头像:头像,分享一些有病头像
- 12-06u盘突然无法识别了怎么回事?U盘无法识别先别着急扔
- 01-02睡不好怎么办有什么偏方?昨晚睡不好怎么办科学证实3个补救方法
- 05-31历史上秦始皇焚书坑儒了吗?历史上秦始皇为什么要焚书坑儒呢
- 05-30唇炎用什么润唇膏好得快?试了十几支润唇膏只有这4支润唇最有效
- 05-23阿斯顿马丁四门版轿跑中文名字,四门运动型豪华轿跑车专题
- 04-21壮丽70年奋斗新时代专题内容:壮丽70年,奋斗新时代大型主题采访活动在醴陵举行
- 11-29为什么要做代码重构?代码重写和重构一字之差
- 01-30葫芦娃大作战不花钱攻略:葫芦娃大作战必看最强阵容组合搭配
- 03-25初中孩子正确的学习数学方法 这位妈妈一个简单做法
- 11-01男人吃生蚝真的补肾吗?男人吃生蚝能补肾吗肾内科主任
- 02-02延禧攻略魏璎珞坦白成为妃子原因:延禧攻略番外篇延续上一代恩怨
- 05-25今日几点上香最佳 什么时间上香最好这些年你做对了吗
- 01-28毕业答谢辞:毕业答谢辞
- 12-27汉服披袄和半袖有什么区别?汉服和胡服有何区别衣襟不同
热门
推荐
- 1西式创意菜谱有什么266
- 2租用车体发布广告合同范本194
- 3班级霸气口号参考385
- 4初三班主任年度考核个人总结368
- 5外商投资企业劳动合同1专业版276
- 6表达对恋爱感悟的句子239
- 7党员创先争优志愿服务行动方案134
- 82020年世界精神卫生日演讲稿:让我们心里布满阳光114