mybatis 配置文件文件中 <![cdata[ ${value} ]]> 是什么意思 10

<updateid="excute"parameterType="java.lang.String"><![CDATA[${value}]]></update>请问一下<... <update id = "excute" parameterType="java.lang.String">
<![CDATA[ ${value}]]>
</update>
请问一下 <![CDATA[ ${value}]]> 是什么意思? 为什么要用${value} 去取传入的这个变量,还有种写法是#{id} ,这两种有什么区别?
<select id = "excute" parameterType="java.lang.String">
select * from student where id = #{id}
</select >
这两种取得变量的方式有什么不一样啊?为什么一个用#{} 一个用${} ,用法和区别是什么?请高手解释一下
展开
 我来答
帐号已注销
2018-03-30 · TA获得超过2.3万个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:5.5万
展开全部

value是不是可能包含xml格式的东西,<![CDATA[ ....]]>,这个在xml里表示该部分内容不会被xml解析器解析。

CDATA[ ${value 如果value是sql语句,那这里就是个动态的sql语句了,最终会执行这条sql语句,select from student where id = #{id} 如果你这个id也传入个sql语句,这里就会把它当成一个查询值了<update id = "excute" parameterType="java.lang.String">

<![CDATA[ ${value}]]>

</update><select id = "excute" parameterType="java.lang.String">

select * from student where id = #{id}

</select >include<iostream>

using namespace std;

char *deletechar(char *a)

{int len=strlen(a);

char *b=new char();

int k=0;

for(int i=0;i<len;i++)

{if(a[i]>='0' && a[i]<='9')

{b[k]=a[i];k++;}

百度网友58fd71151
2012-06-03 · TA获得超过391个赞
知道小有建树答主
回答量:442
采纳率:100%
帮助的人:138万
展开全部
value是不是可能包含xml格式的东西,<![CDATA[ ....]]>,这个在xml里表示该部分内容不会被xml解析器解析
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乔纳森迈克
2017-08-06
知道答主
回答量:13
采纳率:0%
帮助的人:4.2万
展开全部
像你<![CDATA[ ${value}]]> 如果value是sql语句,那这里就是个动态的sql语句了,最终会执行这条sql语句。
select * from student where id = #{id} 如果你这个id也传入个sql语句,这里就会把它当成一个查询值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lydawen
2012-05-28 · TA获得超过3181个赞
知道大有可为答主
回答量:2678
采纳率:50%
帮助的人:1485万
展开全部
#能做数据类型匹配,$则不可以。
像你<![CDATA[ ${value}]]> 如果value是sql语句,那这里就是个动态的sql语句了,最终会执行这条sql语句。
select * from student where id = #{id} 如果你这个id也传入个sql语句,这里就会把它当成一个查询值了。
追问
select * from student where id = #{id} 如果你这个id也传入个sql语句,这里就会把它当成一个查询值了?是什么意思?
假如说我id传入的一个参数
session.selectList("queryAllStudent", "(select id from student where name = 'zs' )" );
#{id} ${id} 分别会对他怎么处理?
追答
#
select * from student where id =select id from student where name = 'zs'
如果id是数值型,会报错。
$
select * from student where id =select id from student where name = 'zs' )
这里应该是sql错误了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式