<select id="getProvince" resultType="java.util.Map">
select provinceid,province
from provinces
order by convert(province using gbk)
</select>
以上sql資料庫執行正常,在程式里mybatis-plus執行報錯,錯誤資訊如下:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId.
Error SQL: select provinceid,province,CONVERT(province USING gbk) as a
from provinces
order by a
### The error may exist in file [E:\CITC\zxgd_back\blade-service\blade-user\target\classes\org\springblade\system\user\mapper\UserMapper.xml]
### The error may involve org.springblade.system.user.mapper.UserMapper.getProvince
### The error occurred while executing a query
### Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId.
Error SQL: select provinceid,province,CONVERT(province USING gbk) as a
from provinces
order by a
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy168.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:158)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:76)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:62)
at com.sun.proxy.$Proxy169.getProvince(Unknown Source)
uj5u.com熱心網友回復:
想看看資料庫里provinceid,province這兩個欄位的名字,以及mybatis-plus會根據UserMapper里的getProvince方法回傳值來自動判斷結果型別是物件還是集合,不用在resultType里指定。要指定的話,應該指定User物體類的全限定名。或者指定一個xnl里自定義的結果集映射map
uj5u.com熱心網友回復:
那個xnl是xml...uj5u.com熱心網友回復:
你說的那種也行,我那樣寫也可以的,但現在的問題不是它造成的
uj5u.com熱心網友回復:
我這也遇到這個問題了。朋友你解決了嗎?uj5u.com熱心網友回復:
排查思路:1. sql 關鍵詞前后是否給空格分隔開了, 是否多標點符號等。
2.精簡sql,排查sql中的語法是不是不被程式支持。
比如:select provinceid,province,CONVERT(province USING gbk) as a
from provinces
order by a
先改成 select provinceid,province
from provinces
看看有無問題
3. <select id="getProvince" resultType="java.util.Map">中的id = “getProvince”,id是否重復?
uj5u.com熱心網友回復:
不懂為啥都用mybatis-plus的還要寫xml轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/233187.html
標籤:Web 開發
