mybatis中的oracle和mysql分頁


這段時間一直在用mybatis+spring+springMVC的框架,總結點東西吧。

mybatis的oracle分頁寫法:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="common">
    <sql id="Oracle_Pagination_Head">
        <if test="oracleStart!=null and oracleEnd!=null">
            <![CDATA[select y.* from(select z.*,rownum as oracleStart from (]]>
        </if>
    </sql>
    
    <sql id="Oracle_Pagination_Tail">
        <if test="oracleStart != null and oracleEnd != null">
            <![CDATA[ ) z where rownum <= #{oracleEnd} ) y where y.oracleStart > #{oracleStart} ]]>
        </if>
    </sql>
</mapper>

頁面調用此方法的情況:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.edu.hbcf.plugin.asset.dao.AssetApplyDao">
    <select id="queryAsset" resultType="cn.edu.hbcf.plugin.asset.pojo.AssetInfo" parameterType="Criteria">
        <include refid="common.Oracle_Pagination_Head" />
      select ASSET_ID             as assetId,
        from asset_info
       where processinstanceId = #{condition.processinstanceId}
        <include refid="common.Oracle_Pagination_Tail" />
    </select>

mysql的分頁通用代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="common">
    <sql id="MySql_Pagination_Head">
    
    </sql>
    <sql id="MySql_Pagination_Tail">
        <if test="limit != 0">
            <![CDATA[ limit #{start},#{limit} ]]>
        </if>
    </sql>
</mapper>

先留下痕跡,以后用的時候方便查看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM