MyBatis Oracle与MySQL分页
Oracle、MySQL分页实例
- SQL执行代码
ORACLE: SELECT * FROM ( SELECT ROWNUM AS NUMROW, Z.* from ( select * from CHANNEL T where 1=1 and T.ID = 1 ORDER BY T.ID desc ) Z where rownum<=10 ) WHERE NUMROW >= 1 MySQL:获取(0 ,10],10表示向后获取10条数据。 select * from fm_sell T where 1=1 and T.SERIAL_NUM = '20141124' ORDER BY T.ID desc LIMIT 0, 10
- Mybatis中分页应用与优化
Oracle: <sql id="WhereClase"> <where> 1=1 <if test="id != null"> AND T.ID = #{id,jdbcType=BIGINT} </if> ... </where> </sql> <sql id="OrderBy"> ORDER BY T.ID desc </sql> <sql id="PageSQLHead"> SELECT * FROM (SELECT ROWNUM AS NUMROW, Z.* from ( </sql> <sql id="PageSQLFoot"> <![CDATA[ ) Z where rownum<=#{pageLastItem}) WHERE NUMROW >= #{pageFristItem} ]]> </sql> <select id="queryCount" parameterClass="ChannelQuery" resultClass="java.lang.Integer"> select count(1) from CHANNEL T <include refid="WhereClase"/> <include refid="OrderBy"/> </select> <select id="queryPage" parameterClass="ChannelQuery" resultMap="channelResult"> <include refid="PageSQLHead" /> select <include refid="Base_Column_List" /> from CHANNEL T <include refid="WhereClase" /> <include refid="OrderBy" /> <include refid="PageSQLFoot" /> </select>
MySQL: <resultMap id="BaseResultMap" type="fmSell"> <id column="ID" property="id" jdbcType="BIGINT" /> <result column="SERIAL_NUM" property="serialNum" jdbcType="VARCHAR" /> ... </resultMap> <sql id="Base_Column_List"> T.ID, T.SERIAL_NUM, T.STOCK_ID, T.GMT_CREATE, T.GMT_MODIFY </sql> <sql id="WhereClase"> <where> 1=1 <if test="serialNum != null and serialNum != ''"> AND T.SERIAL_NUM = #{serialNum,jdbcType=VARCHAR} </if> ... </where> </sql> <!-- 分页起始 --> <sql id="GetPagerSql"> LIMIT #{pageIndex}, #{pageSize} </sql> <sql id="OrderBy"> ORDER BY T.ID desc </sql> <!-- 分页记录 --> <select id="selectPagerByQuery" parameterType="fmSellQuery" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List" /> FROM fm_sell T <include refid="WhereClase"/> <include refid="OrderBy"/> <include refid="GetPagerSql"/> </select> <!-- 总记录数 --> <select id="selectCountsByQuery" parameterType="fmSellQuery" resultType="java.lang.Integer"> SELECT COUNT(1) FROM fm_sell T <include refid="WhereClase"/> <include refid="OrderBy"/> </select>
相关推荐
流云追风 2020-07-04
lklong 2020-11-22
oraclemch 2020-11-06
shilukun 2020-10-10
周嘉笙 2020-11-09
iilegend 2020-10-19
EricRay 2020-10-16
zhuzhufxz 2020-09-16
dataminer 2020-08-17
bfcady 2020-08-16
Hody 2020-08-16
FightFourEggs 2020-08-16
数据库设计 2020-08-16
Seandba 2020-08-16
Omega 2020-08-16
zjyzz 2020-08-16
yanghuatong 2020-08-16
ktyl000 2020-08-16