mybatis 配置文件文件中 <![cdata[ ${value} ]]> 是什么意思 10
<![CDATA[ ${value}]]>
</update>
请问一下 <![CDATA[ ${value}]]> 是什么意思? 为什么要用${value} 去取传入的这个变量,还有种写法是#{id} ,这两种有什么区别?
<select id = "excute" parameterType="java.lang.String">
select * from student where id = #{id}
</select >
这两种取得变量的方式有什么不一样啊?为什么一个用#{} 一个用${} ,用法和区别是什么?请高手解释一下 展开
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++;}
select * from student where id = #{id} 如果你这个id也传入个sql语句,这里就会把它当成一个查询值了
像你<![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错误了