如何使用Oracle结合Mybatis实现取表的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结合Mybatis实现取表的10条数据
标题URL:http://scyanting.com/article/gjodgj.html