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.一般能用#的就别用$.
就这么多了.

最新文章

  1. [field:picname/]和[field:litpic/]区别
  2. x01.Weiqi.9: 点目功能
  3. 获取tp-link中的拨号密码
  4. [CareerCup] 17.5 Game of Master Mind 猜字游戏
  5. vue2.0入门
  6. Webscan360的防御与绕过
  7. 2015 CCPC-C-The Battle of Chibi (UESTC 1217)(动态规划+树状数组)
  8. IoC - Castle Windsor 2.1
  9. Quartz框架的使用
  10. HDSF主要节点解说(二)工作原理
  11. awk学习总结(两) How awk works and awk CMD in a file
  12. C#中对值类型和引用类型的一点认识
  13. 1、Altium Designer 入门
  14. python———day02
  15. Python全栈开发之路 【第三篇】:Python基础之字符编码和文件操作
  16. 在cmd中为命令设置别名以及启动cmd时自动执行bat
  17. Django中的admin组件分析
  18. memory management
  19. OpenGL 4.0 GLSL 基础教程概览——VAO和VBO常用操作接口
  20. spring boot application.properties基本配置

热门文章

  1. 【Python】numpy 数组拼接、分割
  2. 重学JAVA基础(一):PATH和CLASSPATH
  3. Windows WMIC命令使用详解2
  4. 在python 3.6下用pip 安装第三方库,比如pip install requests,老是报错 Fatal error in launcher: Unable to create process using &#39;&quot;&#39;
  5. iOS横屏设置的几种方式
  6. 函数PARSENAME使用和截取字符串
  7. js 读本地文件
  8. Unite 2017 干货整理 同步篇
  9. 最棒的Unity Github 项目收集(2016)
  10. codevs 2314 数学作业