首页 新闻 搜索 专区 学院

mybatis使用Oracle多条件查询只能用索引吗

0
[已关闭问题] 关闭于 2019-11-07 14:08

这是我的映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 当映射方法的id和接口定义的id相同的时候可以使用MAP的动态代理,这种方法就可以不使用DAO的实现类来直接调用map映射的方法 -->
<mapper namespace="site.undead.dao.IStudentDAO">
<!-- 多条件查询 -->
<select id="selectStudentByCondition" resultType="Student">
<!-- SELECT T.* FROM LINGYU97.STUDENT_TAB T WHERE T.NAME LIKE '%${NAME}%' --><!-- 这里的'%'#{NAME}'%'只是一个占位符,括号里填什么都可以 !!!但是很不建议使用这种方式,因为采用这种方式会被SQL注入攻击-->
<!-- SELECT T.* FROM LINGYU97.STUDENT_TAB T WHERE T.NAME LIKE CONCAT(CONCAT('%',#{NAME}),'%') --><!-- 这里的#{NAME}只是一个占位符,括号里填什么都可以 -->
SELECT T.*
FROM LINGYU97.STUDENT_TAB T
WHERE T.NAME LIKE '%'||#{name}||'%'
AND T.AGE > #{age}<!-- 这里的#{NAME}只是一个占位符,括号里填什么都可以 -->
</select>
</mapper>

使用这种方式查询就报错说请使用序列的方式进行查询

有没有其他的方式,求大佬告知

ZERO零号的主页 ZERO零号 | 初学一级 | 园豆:13
提问于:2019-11-07 13:58
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册