<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      Oracle結合Mybatis完成取表的10條數據

      [摘要]之前一直使用mysql和informix數據庫,查表中前10條數據十分簡單:本文主要介紹了Oracle結合Mybatis實現取表的10條數據的相關資料,需要的朋友可以參考下,希望能幫助到大家。最原始...
      之前一直使用mysql和informix數據庫,查表中前10條數據十分簡單:本文主要介紹了Oracle結合Mybatis實現取表的10條數據的相關資料,需要的朋友可以參考下,希望能幫助到大家。

      最原始版本:

      select top * from student


      當然,我們還可以寫的復雜一點,比如外加一些查詢條件?

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

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

      select top * from table where score > 80

      但是。racle中沒有top。。。。∧敲丛撊绾螌崿F呢?

      嗯,可以用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代碼?

      <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代碼在調用是總是獲取到同一個序列的值,查詢相關資料得知是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>

      相關推薦:

      Oracle如何更改表空間的數據文件位置

      如何修改Oracle數據庫表中字段順序

      oracle 查詢表名以及表的列名

      以上就是Oracle結合Mybatis實現取表的10條數據的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清