0
点赞
收藏
分享

微信扫一扫

No enum constant org.apache.ibatis.type.JdbcType.long mybatis xml sql语句多种数据类型

单调先生 2022-07-12 阅读 56


Caused by: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.long
at org.apache.ibatis.builder.BaseBuilder.resolveJdbcType(BaseBuilder.java:73)
at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.buildParameterMapping(SqlSourceBuilder.java:101)
at org.apache.ibatis.builder.SqlSourceBuilder$ParameterMappingTokenHandler.handleToken(SqlSourceBuilder.java:67)
at org.apache.ibatis.parsing.GenericTokenParser.parse(GenericTokenParser.java:78)
at org.apache.ibatis.builder.SqlSourceBuilder.parse(SqlSourceBuilder.java:45)
at org.apache.ibatis.scripting.defaults.RawSqlSource.<init>(RawSqlSource.java:46)
at org.apache.ibatis.scripting.defaults.RawSqlSource.<init>(RawSqlSource.java:40)
at org.apache.ibatis.scripting.xmltags.XMLScriptBuilder.parseScriptNode(XMLScriptBuilder.java:72)
at org.apache.ibatis.scripting.xmltags.XMLLanguageDriver.createSqlSource(XMLLanguageDriver.java:44)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:94)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
... 22 more
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.long
at java.lang.Enum.valueOf(Enum.java:238)
at org.apache.ibatis.type.JdbcType.valueOf(JdbcType.java:25)
at org.apache.ibatis.builder.BaseBuilder.resolveJdbcType(BaseBuilder.java:71)
... 34 more

这个错误提示的意思是说,无法解析JdbcType.long

我们来看一下SQL语句:

<select id="getFileInfoMapByConditionMap" parameterType="java.lang.String" resultType="java.util.Map">
<![CDATA[
select rowguid,filepath from my_fileinfo where rowguid=#{fileguid,jdbcType=VARCHAR} and filesize=#{filesize,jdbcType=long}
]]>
</select>

说明在mybatis中根本无法解析long类型

具体的对应对应关系可查看

java和 mysqbtais:​

mybtais和DB:​

 此处long 和BIGINT 是对应

  <select id="getFileInfoMapByConditionMap" parameterType="java.lang.String" resultType="java.util.Map">
<![CDATA[
select rowguid,filepath from my_fileinfo where rowguid=#{fileguid,jdbcType=VARCHAR} and filesize=#{filesize,jdbcType=BIGINT}
]]>
</select>

希望对你有所帮助

举报

相关推荐

数据类型与SQL语句

0 条评论