论坛首页 Java企业应用论坛

用iBatis时字段名中有#符号怎么办?

浏览 16964 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-04-24  
我在使用iBATIS时,字段名中有#符号,如:username#。

这样我的SQL就成了这样子。

<insert id="insertUser" parameterClass="user">
INSERT INTO users ( username#, password) VALUES ( #username#,
#password# )
</insert>

可系统运行时报错,不知如何处理,SQLMap 有没有转义字段之类的,我找到半天规范里也没有找到相关的说明。
   发表时间:2006-04-24  
试试看这样,没测试过。
<insert id="insertUser" parameterClass="user"> 
<![CDATA[
INSERT INTO users ( username#, password); VALUES ( #username#, 
#password# ); 
]]>
</insert> 


username#不是一个好习惯。
0 请登录后投票
   发表时间:2006-04-24  
我知道username#不是一个好习惯,但木已成舟,不得不这样做了。

你给我的代码好像跟我原来的一样啊,我原来就报错。
0 请登录后投票
   发表时间:2006-04-24  
javajia 写道
我知道username#不是一个好习惯,但木已成舟,不得不这样做了。

你给我的代码好像跟我原来的一样啊,我原来就报错。


多了个 &lt;![CDATA[.......]]&gt; ,这个是用来屏蔽关键字的,不过对#未必起作用。
0 请登录后投票
   发表时间:2006-04-24  
zelsa 写道
javajia 写道
我知道username#不是一个好习惯,但木已成舟,不得不这样做了。

你给我的代码好像跟我原来的一样啊,我原来就报错。


多了个 &lt;![CDATA[.......]]&gt;


哦,我开始贴的代码少写了&lt;![CDATA[.......]]&gt;,最终代码跟你给出的是一样的,所以效果还是报错。
0 请登录后投票
   发表时间:2006-04-24  
try ## :

INSERT INTO users ( username##, password) VALUES ( #username#,
#password# )
0 请登录后投票
   发表时间:2006-04-24  
Readonly 写道
try ## :

INSERT INTO users ( username##, password) VALUES ( #username#,
#password# )

0 请登录后投票
   发表时间:2006-06-06  
把错误贴出来啊!
0 请登录后投票
   发表时间:2006-06-20  
&lt;insert id="insertUser" parameterClass="user"&gt;
INSERT INTO users ( 'username#', password) VALUES ( #username#,
#password# )
&lt;/insert&gt;

如果是oracle数据可以通过加单引号来区别特别字段试试!
没有测试过
0 请登录后投票
   发表时间:2006-09-18  
关注一下!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics