1. 程式人生 > >Mabatis_配置中出現的error

Mabatis_配置中出現的error

error int type pac while ets array mco final

1. 不區分大小寫

<mapper namespace="Message">

<resultMap type="com.imooc.bean.Message" id="MessageResult">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="COMMAND" jdbcType="VARCHAR" property="command"/>
<result column="DESCRIPTION" jdbcType="VARCHAR" property="description"/>
<result column="CONTENT" jdbcType="VARCHAR" property="content"/>
</resultMap>

<select id="queryMessageList" parameterType="com.imooc.bean.Message" resultMap="MessageResult">
select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE
</select>
</mapper>

2017-05-17 11:25:34,859 [main] DEBUG [Message.queryMessageList] - ==>  Preparing: select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE 
2017-05-17 11:25:34,892 [main] DEBUG [Message.queryMessageList] - ==> Parameters: 
2017-05-17 11:25:34,917 [main] DEBUG [Message.queryMessageList] - <==      Total: 5
Message [id=1, command=查看, description=精彩內容, content=精彩內容]
Message [id=2, command=段子, description=精彩段子, content=如果你的月薪是3000塊錢,請記得分成五份,一份用來買書,一份給家人,一份給女朋友買化妝品和衣服,一份請朋友們吃飯,一份作為同事的各種婚喪嫁娶的份子錢。剩下的2999塊錢藏起來,不要告訴任何人]
Message [id=3, command=新聞, description=今日頭條, content=7月17日,馬來西亞一架載有298人的777客機在烏克蘭靠近俄羅斯邊界墜毀。另據國際文傳電訊社消息,墜毀機型為一架波音777客機,機載約280名乘客和15個機組人員。
烏克蘭空管部門隨後證實馬航MH17航班墜毀。烏克蘭內政部幕僚表示,這一航班在頓涅茨克地區上空被擊落。馬來西亞航空公司確認,該公司從阿姆斯特丹飛往吉隆坡的MH17航班失聯,並稱最後與該客機取得聯系的地點在烏克蘭上空。圖為馬航客機墜毀現場。]
Message [id=4, command=娛樂, description=娛樂新聞, content=昨日,鄧超在微博分享了自己和孫儷的書法。夫妻同樣寫幸福,但差距很大。鄧超自己都忍不住感慨字醜:左邊媳婦寫的。右邊是我寫的。看完我再也不幸福了。]
Message [id=6, command=彩票, description=中獎號碼, content=查啥呀查,你不會中獎的!]

2. jdbcType打錯了

<mapper namespace="Message">

<resultMap type="com.imooc.bean.Message" id="MessageResult">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="COMMAND" jdbcType="VARCHAR" property="command"/>
<result column="DESCRIPTION" jdbcType="VARCHAR" property="description"/>
<result column="CONTENT" jdbcType="VARCHE

R" property="content"/>
</resultMap>

<select id="queryMessageList" parameterType="com.imooc.bean.Message" resultMap="MessageResult">
select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE
</select>
</mapper>

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession.
### The error may exist in com/imooc/config/sqlxml/Message.xml
### The error occurred while processing mapper_resultMap[MessageResult]
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.VARCHER
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:36)
	at com.imooc.DB.DBAccess.getSqlSession(DBAccess.java:17)
	at com.imooc.Dao.MessageDao.query(MessageDao.java:28)
	at com.imooc.Dao.MessageDao.main(MessageDao.java:15)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.VARCHER
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:120)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:98)
	at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:50)
	... 4 more
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.VARCHER
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:369)
	at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:118)
	... 6 more
Caused by: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.VARCHER
	at org.apache.ibatis.builder.BaseBuilder.resolveJdbcType(BaseBuilder.java:73)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildResultMappingFromContext(XMLMapperBuilder.java:382)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:280)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
	at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
	... 9 more
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.VARCHER
	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)
	... 14 more

3.mapper的SQL ID寫錯了

public static List<Message> query() {
DBAccess dbaccess = new DBAccess();
List<Message> messageList = new ArrayList<Message>();
SqlSession session =null;
try {
Message m =new Message();
session = dbaccess.getSqlSession();
messageList = session.selectList("Message.queryMessageList",m);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
if(session != null){
session.close();
}
}
if (messageList == null) System.out.println("message is null");
return messageList;

}

  <select id="MessageList" parameterType="com.imooc.bean.Message" resultMap="MessageResult">
    select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE
  </select>

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for Message.queryMessageList
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for Message.queryMessageList
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
	at com.imooc.Dao.MessageDao.query(MessageDao.java:29)
	at com.imooc.Dao.MessageDao.main(MessageDao.java:15)
Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for Message.queryMessageList
	at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:875)
	at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:708)
	at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:701)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
	... 3 more

Mabatis_配置中出現的error