getSqlMapClientTemplate().update("insertComment", comment);这段代码,报一个 There is no statement named insertComment in this SqlMap.的错误
但是在comment.xml中,写了
<resultMap id="commentResult" class="comment">
<result property="itemId" column="ITEMID"/>
<result property="commentId" column="COMMENTID"/>
<result property="time" column="TIME"/>
<result property="userId" column="USER_ID"/>
<result property="content" column="CONTENT"/>
</resultMap>
<insert id="insertComment" parameterClass="comment"><![CDATA[
insert into COMMENT (
COMMENTID,
TIME,
USER_ID,
ITEMID,
CONTENT
) values (
#commentId#,
#time#,
#userId#,
#itemId#,
#content#
)
]]></insert>
请各位大侠指教,谢过了
24 个解决方案
#1
update怎么能用insert操作啊!应该对应<update>
#2
insert值用update方法,没错吧……
#3
设置命名空间。
#4
There is no statement named insertComment in this SqlMap
在sqlmap中没有叫做insertComment的声明
查一下你是否把comment.xml放进SQL Map配置文件中了
SQL Map配置文件配置是否正确
在sqlmap中没有叫做insertComment的声明
查一下你是否把comment.xml放进SQL Map配置文件中了
SQL Map配置文件配置是否正确
#5
fengyifei11228 分析正确
#6
命名空间,其次是你的sql要是做insert操作的话,你必须写<insert >,相同的你要是做update操作的话也必须用<update>
#7
comment.xml 这个配置文件要放在的其他配置文件中引入进去。如果没引入进去,就会报找不到There is no statement named insertComment in this SqlMap ,因为首先加载就没这个文件
#8
刚碰上相同的问题,跟fengyifei11228 说的一样,现已解决,谢谢fengyifei11228 。
#9
没找到insertComment,既然楼主写了,要么是这个文件没放到配置文件里要么是拼写错误
#10
需要加前缀,应该这样写:
getSqlMapClientTemplate().update("comment.insertComment", comment);
getSqlMapClientTemplate().update("comment.insertComment", comment);
#11
才发现csdn的回复框可以自定义表情。哈哈,好玩
#12
为什么要加前缀呢?
我也一直报这个错,按照你的加了前缀,OK了,可我见其他人的DEMO中没有加,不知道什么时候加,什么时候不加。希望哪位大侠解释下,谢谢啦
#13
/wx
#14
问题是,sqlmapconfig.xml中没有配置SqlMap元素 <sqlMap resource="comment.xml"/>
#15
<sqlMapConfig>
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false" //在这里设置是否使用命名空间
/>
#16
gaga,我也碰到这个问题了。。。加上命名空间就行,不加就不行
#17
谢谢,15楼的那位朋友,我也一直在找原因呢,
终于明白了
终于明白了
#18
帮顶我来学习
#19
ibatis方法调用错误 方法类型必须和sql指向类型相同
#20
我们的项目中是用实体bean来写命名空间的 eg:com/entity/User.java
namespace = "com.entity.User"
用的时候 User.class.getName()+"insertUser"
(insertUser是在XML里面注册 的ID)
namespace = "com.entity.User"
用的时候 User.class.getName()+"insertUser"
(insertUser是在XML里面注册 的ID)
#21
命名空间+sqlID
#22
15楼的正解。帮我解决了问题。谢谢了
#23
什么情况?
#24
看帖
#1
update怎么能用insert操作啊!应该对应<update>
#2
insert值用update方法,没错吧……
#3
设置命名空间。
#4
There is no statement named insertComment in this SqlMap
在sqlmap中没有叫做insertComment的声明
查一下你是否把comment.xml放进SQL Map配置文件中了
SQL Map配置文件配置是否正确
在sqlmap中没有叫做insertComment的声明
查一下你是否把comment.xml放进SQL Map配置文件中了
SQL Map配置文件配置是否正确
#5
fengyifei11228 分析正确
#6
命名空间,其次是你的sql要是做insert操作的话,你必须写<insert >,相同的你要是做update操作的话也必须用<update>
#7
comment.xml 这个配置文件要放在的其他配置文件中引入进去。如果没引入进去,就会报找不到There is no statement named insertComment in this SqlMap ,因为首先加载就没这个文件
#8
刚碰上相同的问题,跟fengyifei11228 说的一样,现已解决,谢谢fengyifei11228 。
#9
没找到insertComment,既然楼主写了,要么是这个文件没放到配置文件里要么是拼写错误
#10
需要加前缀,应该这样写:
getSqlMapClientTemplate().update("comment.insertComment", comment);
getSqlMapClientTemplate().update("comment.insertComment", comment);
#11
才发现csdn的回复框可以自定义表情。哈哈,好玩
#12
为什么要加前缀呢?
我也一直报这个错,按照你的加了前缀,OK了,可我见其他人的DEMO中没有加,不知道什么时候加,什么时候不加。希望哪位大侠解释下,谢谢啦
#13
/wx
#14
问题是,sqlmapconfig.xml中没有配置SqlMap元素 <sqlMap resource="comment.xml"/>
#15
<sqlMapConfig>
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false" //在这里设置是否使用命名空间
/>
#16
gaga,我也碰到这个问题了。。。加上命名空间就行,不加就不行
#17
谢谢,15楼的那位朋友,我也一直在找原因呢,
终于明白了
终于明白了
#18
帮顶我来学习
#19
ibatis方法调用错误 方法类型必须和sql指向类型相同
#20
我们的项目中是用实体bean来写命名空间的 eg:com/entity/User.java
namespace = "com.entity.User"
用的时候 User.class.getName()+"insertUser"
(insertUser是在XML里面注册 的ID)
namespace = "com.entity.User"
用的时候 User.class.getName()+"insertUser"
(insertUser是在XML里面注册 的ID)
#21
命名空间+sqlID
#22
15楼的正解。帮我解决了问题。谢谢了
#23
什么情况?
#24
看帖