介绍
如何使用Oracle结合Mybatis实现取表的10条数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
最原始版本:
从学生选择顶级*
当然,我们还可以写的复杂一点,比如外加一些查询条件?
比如查询前10条成绩大于80分的学生信息
添加了,查询条件的版本:
选择高级*表得分比;80年
但是! !甲骨文中没有上啊! ! ! !那么该如何实现呢?
嗯,可以用rownum !
甲骨文中原始版本
select *从学生rownum & lt;10
上面这个好像也没有复杂的地方。但是问题来了,如果我们还希望加上分数大于80呢?
对于我这个oracle初学者来说,真的是费力。在这里就直接贴出来了,希望可以让一些人少费一些力!
甲骨文添加了,查询条件的版本
select * ( 选择rownum rn, A。*从学生的分数比;80) rn & lt;10
简单分析一下上面的代码。实际上是先通过内嵌的sql语句查询出分数大于80的数据,再选择内嵌sql查询结果中的前10条数据
最后附上mybatis代码?
& lt;选择id=皊electStudent"parameterType=癶ashmap"resultMap=癇aseResultMap"比; select * 从( 选择rownum rn, A。*从学生 状态=& # 39;99 & # 39; 和分数& lt; ! [CDATA[在]]比;#{分数,jdbcType=整数}) rn & lt; ! [CDATA [& lt;=]]比;#{数量,jdbcType=整数} & lt;/select>
上面的分数和数量均为变量
& lt;选择id=癵etCode"resultType=癹ava.lang.String"比; 选择& # 39;trd # 39; | | to_char (sysdate & # 39;名称# 39;)| | lpad (to_char (SQ_ORD_PURCHASE_ID.nextval), 5日& # 39;0 & # 39;)从双重代码 & lt;/select>
上述mybatis代码在调用是总是获取到同一个序列的值,查询相关资料得知是mybatis的缓存问题:
加上<代码> useCache=癴alse"flushCache=癴alse"代码>属性即可:
& lt;选择id=癵etCode"resultType=癹ava.lang.String"useCache=癴alse"flushCache=癴alse"比; 选择& # 39;trd # 39; | | to_char (sysdate & # 39;名称# 39;)| | lpad (to_char (SQ_ORD_PURCHASE_ID.nextval), 5日& # 39;0 & # 39;)从双重代码 & lt;/select>
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。