【转】ibatis 中使用select top #pagesize# * from tablename
2024-08-29 22:41:07
ibatis中使用select top #num# * from tableName出现错误。由于初次用ibatis还不知道在它里边拼写SQL语句的一些规则,导致一些自认为很平常的SQL语句,在它这里翻了船。
select top #number#这种写法是不正确的,原因待查。正确的书写方式是 select top $number$ 。
下面这段话是在网络里找到的它也没给出具体的解释,只是说这是什么SQL的动态写法,不明所以。
在iBATIS中,对于top参数,只能用动态SQL方式。如 <select id="getClassLatest" parameterClass="map" resultMap="musicItemMap"> SELECT top $number$ * FROM tbl_music_item where class_id=#classId# order by add_time desc </select>
#与$的区别
昨天一个项目中在写ibatis中的sql语句时,order by #field#, 运行时总是报错,后来上网查了查,才知道这里不该用#,而应该用$,随即查了下#与$的区别. 总结如下: 1.#是把传入的数据当作字符串,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错..
2.$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id, 这就对了.
3.#方式能够很大程度防止sql注入.
4.$方式无法方式sql注入.
5.$方式一般用于传入数据库对象.例如传入表名.
6.一般能用#的就别用$.
就这么多了.
2.$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id, 这就对了.
3.#方式能够很大程度防止sql注入.
4.$方式无法方式sql注入.
5.$方式一般用于传入数据库对象.例如传入表名.
6.一般能用#的就别用$.
就这么多了.
最新文章
- [field:picname/]和[field:litpic/]区别
- x01.Weiqi.9: 点目功能
- 获取tp-link中的拨号密码
- [CareerCup] 17.5 Game of Master Mind 猜字游戏
- vue2.0入门
- Webscan360的防御与绕过
- 2015 CCPC-C-The Battle of Chibi (UESTC 1217)(动态规划+树状数组)
- IoC - Castle Windsor 2.1
- Quartz框架的使用
- HDSF主要节点解说(二)工作原理
- awk学习总结(两) How awk works and awk CMD in a file
- C#中对值类型和引用类型的一点认识
- 1、Altium Designer 入门
- python———day02
- Python全栈开发之路 【第三篇】:Python基础之字符编码和文件操作
- 在cmd中为命令设置别名以及启动cmd时自动执行bat
- Django中的admin组件分析
- memory management
- OpenGL 4.0 GLSL 基础教程概览——VAO和VBO常用操作接口
- spring boot application.properties基本配置
热门文章
- 【Python】numpy 数组拼接、分割
- 重学JAVA基础(一):PATH和CLASSPATH
- Windows WMIC命令使用详解2
- 在python 3.6下用pip 安装第三方库,比如pip install requests,老是报错 Fatal error in launcher: Unable to create process using &#39;";&#39;
- iOS横屏设置的几种方式
- 函数PARSENAME使用和截取字符串
- js 读本地文件
- Unite 2017 干货整理 同步篇
- 最棒的Unity Github 项目收集(2016)
- codevs 2314 数学作业