Oracle结合Mybatis实现取表的10条数据

小云云
发布: 2017-12-11 14:38:57
原创
2559 人浏览过

之前一直使用mysql和informix数据库,查表中前10条数据十分简单:本文主要介绍了Oracle结合Mybatis实现取表的10条数据的相关资料,需要的朋友可以参考下,希望能帮助到大家。

最原始版本:

select top * from student
登录后复制


当然,我们还可以写的复杂一点,比如外加一些查询条件?

比如查询前10条成绩大于80分的学生信息

添加了where查询条件的版本:

select top * from table where score > 80
登录后复制

但是!!oracle中没有top啊!!!!那么该如何实现呢?

嗯,可以用rownum!

oracle中原始版本

select * from student where rownum < 10
登录后复制

上面这个好像也没有复杂的地方。。但是问题来了,如果我们还希望加上分数大于80呢?

对于我这个oracle初学者来说,真的是费力。在这里就直接贴出来了,希望可以让一些人少费一些力!

oracle添加了where查询条件的版本

select * from( select rownum rn,A.* from student where score > 80) where rn < 10
登录后复制

简单分析一下上面的代码。实际上是先通过内嵌的sql语句查询出分数大于80的数据,再选择内嵌sql查询结果中的前10条数据

最后附上mybatis代码?

登录后复制

上面的scores和number均为变量

ps:mybatis取Oracle序列,值相同问题处理

登录后复制

上述mybatis代码在调用是总是获取到同一个序列的值,查询相关资料得知是mybatis的缓存问题:

加上useCache="false" flushCache="false"属性即可:

登录后复制

相关推荐:

Oracle如何更改表空间的数据文件位置

如何修改Oracle数据库表中字段顺序

oracle 查询表名以及表的列名

以上是Oracle结合Mybatis实现取表的10条数据的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!