如何使用Oracle結(jié)合Mybatis實(shí)現(xiàn)取表的10條數(shù)據(jù)?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)專注于曲江網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供曲江營(yíng)銷型網(wǎng)站建設(shè),曲江網(wǎng)站制作、曲江網(wǎng)頁設(shè)計(jì)、曲江網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造曲江網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供曲江網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
最原始版本:
select top * from student
當(dāng)然,我們還可以寫的復(fù)雜一點(diǎn),比如外加一些查詢條件?
比如查詢前10條成績(jī)大于80分的學(xué)生信息
添加了where查詢條件的版本:
select top * from table where score > 80
但是!!oracle中沒有top?。。。?!那么該如何實(shí)現(xiàn)呢?
嗯,可以用rownum!
oracle中原始版本
select * from student where rownum < 10
上面這個(gè)好像也沒有復(fù)雜的地方。。但是問題來了,如果我們還希望加上分?jǐn)?shù)大于80呢?
對(duì)于我這個(gè)oracle初學(xué)者來說,真的是費(fèi)力。在這里就直接貼出來了,希望可以讓一些人少費(fèi)一些力!
oracle添加了where查詢條件的版本
select * from( select rownum rn,A.* from student where score > 80) where rn < 10
簡(jiǎn)單分析一下上面的代碼。實(shí)際上是先通過內(nèi)嵌的sql語句查詢出分?jǐn)?shù)大于80的數(shù)據(jù),再選擇內(nèi)嵌sql查詢結(jié)果中的前10條數(shù)據(jù)
最后附上mybatis代碼?
上面的scores和number均為變量
ps:mybatis取Oracle序列,值相同問題處理
上述mybatis代碼在調(diào)用是總是獲取到同一個(gè)序列的值,查詢相關(guān)資料得知是mybatis的緩存問題:
加上useCache="false" flushCache="false"
屬性即可:
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。