2 qq 28742107 qq_28742107 于 2016.05.11 15:49 提问

关于Mybatis传参的问题

Mybatis框架执行SQL语句,控制台打印如下:
==> Preparing: select ID, LOGIN_TEL。。。 from TABLE WHERE ( LOGIN_TEL = ? )
==> Parameters: ' or '1'!='2(String)
请问下,为什么把此SQL在PL/SQL中执行可以查出结果,通过代码执行却查不出结果呢?
在PLSQL执行如下语句:
select ID, LOGIN_TEL。。。 from TABLE WHERE ( LOGIN_TEL = '' or '1'!='2' )
其中: ' or '1'!='2 为参数

3个回答

CSDNXIAON
CSDNXIAON   2016.05.11 15:53

SpringMVC + mybatis 传参中文乱码问题
mybatis xml文件传参
mybatis传参
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq_28742107
qq_28742107   2016.05.11 16:37

没有哪位前辈知道么?在线等。。。。。

qq_17555933
qq_17555933   2016.05.11 17:00

你这样肯定不行的。这个or 要写在xml里面 你这样传相当于传一个string过去。然后数据相当于“or'1'!='2” 的出来的结果不一样

qq_17555933
qq_17555933 不客气
大约 2 年之前 回复
qq_28742107
qq_28742107 嗯呢,谢谢兄弟,突然醒悟了,Mybatis都是预编译的,这么传or并没有编译
大约 2 年之前 回复
qq_28742107
qq_28742107 嗯呢,谢谢兄弟,突然醒悟了,Mybatis都是预编译的,这么传or并没有编译
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mybatis 传参的2种方式#{}与${}区别
我现在就用mybatis框架,传参时会用到#{}、${},但是我一直用#{}传参的,就我知道的区别写下吧,日后发现不同再改#{}:标识占位符,向占位符传入参数,mybatis会自动将java类型转换成jdbc类型,预编译时,不传入参数而是用?占位,不易出现sql注入问题;${}:标识sql拼接,通过${}接收参数,将参数的内容不加修饰的传入sql,易发生sql注入,不安全;...
关于mybatis传参问题
我们在使用mybatis过程中,一般是一个mapper.java对应一个mapper.xml,在java文件写入方法名和xml文件的id进行对应,在这里我们经常会用到参数传入到xml中的问题 下面来聊一下mybatis传参问题 1.单个参数传递,不使用封装 java代码: User findUserbyUsername(String username);xml代码: <sel
关于mybatis的传参问题
问题描述:mybatis中写sql时,用到 id in(#{s})这样的语句,传参数时直接传的String s = "12,34,45",传入之后,执行sql,发现结果只找出了第一个数即12的记录,34,45的记录被过滤了。 类似这一种用到in()的语句,传参时正确的写法应该如下: 方法一: 传入list findByIds(List ids)        1.1 如果参数的类型是Lis
mybatis传参问题,一个或多个参数
一、单个参数: public ListXXBean> getXXBeanList(String xxCode); select id="getXXXBeanList" parameterType="java.lang.String" resultType="XXBean">   select t.* from tableName t where t.id= #{id} select
mybatis传参的几种方式
第一种:按序列传参 Public User selectUser(String name,String area); select id="selectUser" resultMap="BaseResultMap">      select  *  from user_user_t   where user_name = #{
Mybatis中的 ${} 和 #{}
在Mybatis 的Mapper.xml语句中parameterType向SQL语句传参有两种方式:#{}和${}我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成字符串,举个例子:select * from student where student_name = #{name} 预编译后,会动态解析成一...
MyBatis参数传递的问题
最近碰到MyBatis传参的一些问题,经过一番探究,问题是解决了。 现对MyBatis传参进行下整理,权当做个笔记。 一、单个简单参数 public Item getItemById(String id); SELECT t.c_id, t.c_name FROM titem t WHERE t.c_id = #{id,jdbcType=VARCHAR}
Mybatis框架之map传参
之前写项目的时候就会遇到一次传好多的值,如果封装成一个实体(或者Model)的话还好,但是总会有都不满足的情况,这个时候map传参的话就大大解决了我们这个问题。因为大家都知道map是一对键值对,而且它可以put好多个键。下面我将贴出我写的代码,希望对大家有所帮助。然后在dao访问数据库,执行sql语句... import com.wonders.common.entity.dao.JurassicB
######mybatis页面get请求传参乱码,controller接收到乱码(特殊字符,不是问号那种)
====post请求,web.xml Spring编码过滤器解决了。 ===但是get请求。还是不行。 ===######=查到修改tomcat的server.xml。 但是说的不清楚。 我修改的本地tomcat没用。只用修改eclipse里server中的server.xml才有用。 ===原因是eclipse备份了server.xml。 1.问题产生: 2.问题解
关于传参的问题
关于传参的问题可以看这个:http://www.cs.umbc.edu/~chang/cs313.s02/stack.shtml关于传参和返回值,可以看这个:http://blog.chinaunix.net/u/12783/showart_1934253.html要不就像langue说的,大家别搞C了吧http://blog.chinaunix.net/u/12783/showart