51Testing软件测试论坛

标题: mybatis使用Oracle多条件查询只能用索引吗? [打印本页]

作者: 测试积点老人    时间: 2020-1-2 11:12
标题: mybatis使用Oracle多条件查询只能用索引吗?
mybatis使用Oracle多条件查询只能用索引吗?
这是映射文件
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "<a href="http://mybatis.org/dtd/mybatis-3-mapper.dtd">http://mybatis.org/dtd/mybatis-3-mapper.dtd</a>">
  3. <!-- 当映射方法的id和接口定义的id相同的时候可以使用MAP的动态代理,这种方法就可以不使用DAO的实现类来直接调用map映射的方法 -->
  4. <mapper namespace="site.undead.dao.IStudentDAO">
  5. <!-- 多条件查询 -->
  6. <select id="selectStudentByCondition" resultType="Student">
  7. <!-- SELECT T.* FROM LINGYU97.STUDENT_TAB T WHERE T.NAME LIKE '%${NAME}%' --><!-- 这里的'%'#{NAME}'%'只是一个占位符,括号里填什么都可以 !!!但是很不建议使用这种方式,因为采用这种方式会被SQL注入攻击-->
  8. <!-- SELECT T.* FROM LINGYU97.STUDENT_TAB T WHERE T.NAME LIKE CONCAT(CONCAT('%',#{NAME}),'%') --><!-- 这里的#{NAME}只是一个占位符,括号里填什么都可以 -->
  9. SELECT T.*
  10. FROM LINGYU97.STUDENT_TAB T
  11. WHERE T.NAME LIKE '%'||#{name}||'%'
  12. AND T.AGE > #{age}<!-- 这里的#{NAME}只是一个占位符,括号里填什么都可以 -->
  13. </select>
  14. </mapper>
复制代码



作者: jingzizx    时间: 2020-1-3 12:07
应该都可以吧
作者: bellas    时间: 2020-1-3 13:51
可以
作者: litingting0214    时间: 2020-1-3 16:47
可以用索引,也可以用其他的
作者: 你好浮戈    时间: 2020-1-3 16:57
不是只能用索引,也可以用其他的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2