您的位置:首页 > 编程语言 > Java开发

Could not find parameter map java.lang.Long

2017-05-04 09:19 519 查看
启动Mybatis报错如下:

java.lang.RuntimeException: org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.lang.Long
org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map java.lang.Long
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.java:319)
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:283)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:107)
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:698)
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:668)
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:663)

经发现,找到出错原因,是Mybatis配置文件语句有问题,原语句为:
<select id="getSysFlodersByComId" parameterMap="java.lang.Long" resultType="com.sjdf.erp.facade.bean.sys.SysFloder">
SELECT * FROM sys_floder WHERE comId=#{comId};
</select>

原因:java.lang.Long类型不能用parameterMap修饰,改为parameterType即可,故修改后的正确语句为:
<select id="getSysFlodersByComId" parameterType="java.lang.Long" resultType="com.sjdf.erp.facade.bean.sys.SysFloder">
SELECT * FROM sys_floder WHERE comId=#{comId};
</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis
相关文章推荐