错误示范
错误示范一:
<select id="fileInspectionList" resultType="map">
SELECT <include refid="aip_n_static_cols"/>
FROM sys_inspection_form WHERE
<if test=" type == 'admin'.toString() ">
dept_id = #{deptid}
order by id
limit #{start},#{pageSize}
</if>
<if test=" type != 'admin'.toString() ">
dept_id = #{deptid}
AND status='已发布'
or user_id = #{userid}
order by id
limit #{start},#{pageSize}
</if>
</select>
错误示范二:
<select id="fileInspectionList" resultType="map">
SELECT <include refid="aip_n_static_cols"/>
FROM sys_inspection_form WHERE
<if test=" type == 'admin'.toString() ">
dept_id = #{deptid}
order by id
limit = #{start},#{pageSize}
</if>
<if test=" type != 'admin'.toString() ">
dept_id = #{deptid}
AND status='已发布'
or user_id = #{userid}
order by id
limit = #{start},#{pageSize}
</if>
</select>
这里先要了解一下:文章来源:https://www.toymoban.com/news/detail-613860.html
#{}和${}的区别:
#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换。#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。
${}表示拼接sql串,通过${}可以将parameterType 传入的内容拼接在sql中且不进行jdbc类型转换, ${}可以接收简单类型值或pojo属性值,如果parameterType传输单个简单类型值,${}括号中只能是value。文章来源地址https://www.toymoban.com/news/detail-613860.html
正确写法:
<select id="fileInspectionList" resultType="map">
SELECT <include refid="aip_n_static_cols"/>
FROM sys_inspection_form WHERE
<if test=" type == 'admin'.toString() ">
dept_id = #{deptid}
order by id
limit ${start},${pageSize}
</if>
<if test=" type != 'admin'.toString() ">
dept_id = #{deptid}
AND status='已发布'
or user_id = #{userid}
order by id
limit ${start},${pageSize}
</if>
</select>
到了这里,关于Mybatis中limit用法与分页查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!