報了一個配置文件出錯
public SqlSession getSqlSession() throws IOException{
//通過配置文件獲取數(shù)據(jù)庫連接相關信息
Reader reader = Resources.getResourceAsReader("com/abe/config/mybatis.xml");
//通過配置信息構建SQLSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
//通過SQLSessionFactory打開數(shù)據(jù)庫回話
SqlSession sqlSession = sqlSessionFactory.openSession();
return sqlSession;
}
public List<Message> queryMessageList(String command, String description) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
List<Message> messageList = new ArrayList<Message>();
try {
sqlSession = dbAccess.getSqlSession();
//通過SqlSession執(zhí)行sql語句
messageList = sqlSession.selectList("Message.queryMessageList");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if (sqlSession != null) {
sqlSession.close();
}
}
return messageList;
}
<mapper namespace="Message">?
<!-- 必須加載 namespace,在同一個namespace中select標簽的id只能是唯一的。在不同的namespace中可以存在不相同的select標簽id -->
? <resultMap type="com.abe.bean.Message" id="MessageResult">
? <!-- resultMap中的id屬性與select中的id屬性沒有任何連接 -->
? ? <id column="id" jdbcType="INTEGER" property="id"/> <!-- 數(shù)據(jù)庫中的主鍵名用id標簽 -->
? ? <result column="COMMAND" jdbcType="VARCHAR" property="command"/><!-- 數(shù)據(jù)庫中的其他字段用result標簽 -->
? ? <result column="DESCRIPTION" jdbcType="VARCHAR" property="description"/>
? ? <result column="CONTENT" jdbcType="VARCHAR" property="content"/>
? </resultMap>
<!-- 查詢得到的字段放置到resultMap對應的屬性中 -->
? <select id="queryMessageList" resultMap="MessageResult">
? ? select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE where 1=1
? </select>
麻煩大家?guī)臀铱纯?? 謝謝
2017-08-27
我也出過這錯誤,我的錯誤是resultMap中的type包名復制的時候少了個字母。你這是不是主鍵數(shù)據(jù)庫id小寫了的原因啊,我初學者,不知道這個嚴不嚴格區(qū)分大小寫
2016-12-08
可能是你的“com/abe/config/mybatis.xml”文件里面有問題,能把你的這個文件內(nèi)容粘貼出來嗎
2016-12-07
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in com/abe/config/sql/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 class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserAlias'. ?Cause: java.lang.ClassNotFoundException: Cannot find class: UserAlias
org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:54)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)
com.abe.db.DBAccess.getSqlSession(DBAccess.java:20)
com.abe.dao.MessageDao.queryMessageList(MessageDao.java:27)
com.abe.service.ListService.queryMessageList(ListService.java:14)
com.abe.servlet.ListServlet.doGet(ListServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root 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 class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserAlias'. ?Cause: java.lang.ClassNotFoundException: Cannot find class: UserAlias
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:109)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)
com.abe.db.DBAccess.getSqlSession(DBAccess.java:20)
com.abe.dao.MessageDao.queryMessageList(MessageDao.java:27)
com.abe.service.ListService.queryMessageList(ListService.java:14)
com.abe.servlet.ListServlet.doGet(ListServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserAlias'. ?Cause: java.lang.ClassNotFoundException: Cannot find class: UserAlias
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)
com.abe.db.DBAccess.getSqlSession(DBAccess.java:20)
com.abe.dao.MessageDao.queryMessageList(MessageDao.java:27)
com.abe.service.ListService.queryMessageList(ListService.java:14)
com.abe.servlet.ListServlet.doGet(ListServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserAlias'. ?Cause: java.lang.ClassNotFoundException: Cannot find class: UserAlias
org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:103)
org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:66)
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)
com.abe.db.DBAccess.getSqlSession(DBAccess.java:20)
com.abe.dao.MessageDao.queryMessageList(MessageDao.java:27)
com.abe.service.ListService.queryMessageList(ListService.java:14)
com.abe.servlet.ListServlet.doGet(ListServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
org.apache.ibatis.type.TypeException: Could not resolve type alias 'UserAlias'. ?Cause: java.lang.ClassNotFoundException: Cannot find class: UserAlias
org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:117)
org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:130)
org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:101)
org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:66)
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)
com.abe.db.DBAccess.getSqlSession(DBAccess.java:20)
com.abe.dao.MessageDao.queryMessageList(MessageDao.java:27)
com.abe.service.ListService.queryMessageList(ListService.java:14)
com.abe.servlet.ListServlet.doGet(ListServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.ClassNotFoundException: Cannot find class: UserAlias
org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:190)
org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)
org.apache.ibatis.io.Resources.classForName(Resources.java:256)
org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:113)
org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:130)
org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:101)
org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:66)
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)
org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)
org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)
org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)
org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)
com.abe.db.DBAccess.getSqlSession(DBAccess.java:20)
com.abe.dao.MessageDao.queryMessageList(MessageDao.java:27)
com.abe.service.ListService.queryMessageList(ListService.java:14)
com.abe.servlet.ListServlet.doGet(ListServlet.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.36 logs.
2016-12-06
看程序,沒發(fā)現(xiàn)問題,有錯誤的具體信息嗎