最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle結(jié)合Mybatis實現(xiàn)取表TOP 10條數(shù)據(jù)

 更新時間:2017年11月03日 08:43:26   作者:四度空間的平面  
這篇文章主要介紹了Oracle結(jié)合Mybatis實現(xiàn)取表TOP 10條數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下

之前一直使用mysql和informix數(shù)據(jù)庫,查表中前10條數(shù)據(jù)十分簡單:

最原始版本:

select top * from student

當(dāng)然,我們還可以寫的復(fù)雜一點,比如外加一些查詢條件?

比如查詢前10條成績大于80分的學(xué)生信息 

添加了where查詢條件的版本:

select top * from table where score > 80 

但是?。racle中沒有top?。。。?!那么該如何實現(xiàn)呢?

嗯,可以用rownum!

oracle中原始版本

select * from student where rownum < 10

上面這個好像也沒有復(fù)雜的地方。。但是問題來了,如果我們還希望加上分?jǐn)?shù)大于80呢?

對于我這個oracle初學(xué)者來說,真的是費力。在這里就直接貼出來了,希望可以讓一些人少費一些力! 

oracle添加了where查詢條件的版本

select * from(
  select rownum rn,A.* from student where score > 80) 
where rn < 10

簡單分析一下上面的代碼。實際上是先通過內(nèi)嵌的sql語句查詢出分?jǐn)?shù)大于80的數(shù)據(jù),再選擇內(nèi)嵌sql查詢結(jié)果中的前10條數(shù)據(jù) 

最后附上mybatis代碼?

<select id="selectStudent" parameterType="hashmap" resultMap="BaseResultMap">
  select *
  from (
  select rownum rn, A.* from student A
  where STATUS = '99'
  and score <![CDATA[>]]> #{scores,jdbcType=INTEGER}) 
  where rn <![CDATA[<=]]> #{number,jdbcType=INTEGER}
 </select>

上面的scores和number均為變量

ps:mybatis取Oracle序列,值相同問題處理

<select id="getCode" resultType="java.lang.String">
  select 'TRD'||to_char(sysdate,'yyyymmdd')||lpad(to_char(SQ_ORD_PURCHASE_ID.nextval), 5, '0') code from dual
</select>

上述mybatis代碼在調(diào)用是總是獲取到同一個序列的值,查詢相關(guān)資料得知是mybatis的緩存問題:

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

<select id="getCode" resultType="java.lang.String" useCache="false" flushCache="false">
select 'TRD'||to_char(sysdate,'yyyymmdd')||lpad(to_char(SQ_ORD_PURCHASE_ID.nextval), 5, '0') code from dual
</select>

總結(jié)

以上所述是小編給大家介紹的Oracle結(jié)合Mybatis實現(xiàn)取表TOP 10條數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Oracle服務(wù)器結(jié)構(gòu)詳解(最新推薦)

    Oracle服務(wù)器結(jié)構(gòu)詳解(最新推薦)

    這篇文章主要介紹了Oracle服務(wù)器結(jié)構(gòu)的相關(guān)知識,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Oracle 隨機數(shù)

    Oracle 隨機數(shù)

    用于抽樣統(tǒng)計,從數(shù)據(jù)庫中按類別隨機 抽取各類用戶
    2009-05-05
  • oracle中如何獲得數(shù)據(jù)庫的DBID信息

    oracle中如何獲得數(shù)據(jù)庫的DBID信息

    在進行數(shù)據(jù)庫恢復(fù)的過程中,很多時候我們需要知道Oracle數(shù)據(jù)庫的DBID,通常有以下幾種方法可以獲得數(shù)據(jù)庫的DBID
    2013-09-09
  • Oracle PL/SQL語言入門基礎(chǔ)

    Oracle PL/SQL語言入門基礎(chǔ)

    Oracle PL/SQL語言入門基礎(chǔ)...
    2007-03-03
  • Oracle顯示游標(biāo)的使用及游標(biāo)for循環(huán)

    Oracle顯示游標(biāo)的使用及游標(biāo)for循環(huán)

    本篇文章給大家介紹oracle顯示游標(biāo)的使用及游標(biāo)for循環(huán),當(dāng)查詢返回單行記錄時使用隱式游標(biāo),查詢返回多行記錄并逐行進行處理時使用顯式游標(biāo),對本文感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • oracle鎖表該如何解決

    oracle鎖表該如何解決

    這篇文章主要給大家介紹了關(guān)于oracle鎖表如何解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Oracle中sys和system的區(qū)別小結(jié)

    Oracle中sys和system的區(qū)別小結(jié)

    SYS用戶具有DBA權(quán)限,并且擁有SYS模式,只能通過SYSDBA登陸數(shù)據(jù)庫。是Oracle數(shù)據(jù)庫中權(quán)限最高的帳號 SYSTEM具有DBA權(quán)限。但沒有SYSDBA權(quán)限。平常一般用該帳號管理數(shù)據(jù)庫就可以了。
    2009-11-11
  • 淺談Oracle 11g 發(fā)行版2 新安裝后關(guān)于登錄的一些基本操作

    淺談Oracle 11g 發(fā)行版2 新安裝后關(guān)于登錄的一些基本操作

    oracle 11g的兩個不同版本。11g剛發(fā)行時,是11g第一版,簡稱11.1,現(xiàn)在有個11g第二版,在功能上有了更多的改進,簡稱11.2。本文給大家介紹Oracle 11g 發(fā)行版2 新安裝后關(guān)于登錄的一些基本操作,需要的朋友可以參考下
    2015-10-10
  • oracle中schema指的是什么意思

    oracle中schema指的是什么意思

    看來有的人還是對schema的真正含義不太理解,現(xiàn)在我再次整理了一下,需要的朋友參考下
    2017-03-03
  • Oracle 區(qū)塊鏈表創(chuàng)建過程詳解

    Oracle 區(qū)塊鏈表創(chuàng)建過程詳解

    Oracle 區(qū)塊鏈表是一個具有防篡改功能的表,只能插入數(shù)據(jù),同時提供了表級和行級的保留期限,接下來通過本文給大家分享Oracle區(qū)塊鏈平臺的創(chuàng)建過程,感興趣的朋友一起看看吧
    2021-05-05

最新評論

东平县| 阜南县| 萨嘎县| 鄂温| 襄城县| 海城市| 青岛市| 张家界市| 柘城县| 安图县| 正定县| 吉林省| 元谋县| 句容市| 英德市| 平罗县| 共和县| 沙湾县| 阆中市| 沛县| 丽水市| 永靖县| 石首市| 靖宇县| 会宁县| 贵港市| 左权县| 开封市| 二连浩特市| 江达县| 济源市| 新余市| 巨鹿县| 大兴区| 诏安县| 湄潭县| 西安市| 改则县| 巴里| 班戈县| 南雄市|