MyBatis 获取参数的两种方式

${paramName}

        使用这种方式的结果是直接替换。底层是用 Statement 实现的。

优点

        使用 ${sort} 可以实现排序查询,而使用 #{sort} 就不能实现排序查询了,因为当使⽤ #{sort} 查询时,如果传递的值为 String 则会加单引号,就会导致 sql 错误。

缺点 

        SQL 注入问题。' or 1='1 使用这个奇怪的sql语句进行查询操作的话即使密码错了也可以查得到,因为 1=‘1’ 为 true,而且还是 or,那么程序就会认为这是一段合法的 sql 了。

#{paramName}

        使用这种方式的是预编译处理,即使用占位符(?)。底层是用 PreparedStatement 实现的。

使用 like 查询的时候需要使用 concat 拼接:

select * from articleinfo title like concat ('%', #{title}, '%')

单元测试结果:

相关推荐

  1. Mybatis-获取参数方式

    2024-06-15 02:34:01       61 阅读
  2. C:获取文件大小方式

    2024-06-15 02:34:01       32 阅读
  3. Mybatis-plus分页插件PageHelper不同使用方式

    2024-06-15 02:34:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 02:34:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 02:34:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 02:34:01       82 阅读
  4. Python语言-面向对象

    2024-06-15 02:34:01       91 阅读

热门阅读

  1. 电脑撤回的快捷键是什么?

    2024-06-15 02:34:01       29 阅读
  2. C++ day2

    C++ day2

    2024-06-15 02:34:01      32 阅读
  3. Day35

    Day35

    2024-06-15 02:34:01      24 阅读
  4. 怎样为Django的server配置跨域资源共享(CORS)

    2024-06-15 02:34:01       34 阅读
  5. 数据分批处理

    2024-06-15 02:34:01       31 阅读
  6. 手写实现防抖

    2024-06-15 02:34:01       31 阅读
  7. QT的QScopedPointer

    2024-06-15 02:34:01       29 阅读