關(guān)于一個mybatis的,通過SqlsessionFactory打開一個數(shù)據(jù)庫會話老是報錯?
package?com.zoey.utils; import?java.io.IOException; import?java.io.InputStream; import?org.apache.ibatis.io.Resources; import?org.apache.ibatis.session.SqlSession; import?org.apache.ibatis.session.SqlSessionFactory; import?org.apache.ibatis.session.SqlSessionFactoryBuilder; public?class?DBAccess?{ ????public?SqlSession?getSqlSession()?throws?IOException{ ????????//通過配置文件獲取數(shù)據(jù)庫連接信息 ????????String?resource?=?"mybatis.cfg.xml"; ????????InputStream?inputStream?=?null; ????????try?{ ????????????inputStream?=?Resources.getResourceAsStream(resource); ????????}?catch?(Exception?e)?{ ????????????//?TODO?Auto-generated?catch?block ????????????e.printStackTrace(); ????????} ????????//通過配置信息構(gòu)建一個SqlSessionFactory ????????SqlSessionFactory?sqlSessionFactory?=?new?SqlSessionFactoryBuilder().build(inputStream); ????????//通過SqlsessionFactory打開一個數(shù)據(jù)庫會話 ????????SqlSession?sqlSession?=?sqlSessionFactory.openSession(); ????????return?sqlSession; ????} }
這個是工具類
下面這個是調(diào)用的
public?void?addUser(User?u)?throws?Exception?{ ????????DBAccess?dbAccess?=?new?DBAccess(); ????????SqlSession?sqlSession?=?null; ???????? ????????sqlSession?=?dbAccess.getSqlSession();???????? ????????try?{ ????????????UserMapper?userMapper?=?sqlSession.getMapper(UserMapper.class); ????????????userMapper.addUser(u); ????????????sqlSession.commit(); ????????}?catch?(Exception?e)?{ ????????????//?TODO?Auto-generated?catch?block ????????????e.printStackTrace(); ????????????sqlSession.rollback(); ????????} ????????sqlSession.close(); ???????? ????}
<?xml?version="1.0"?encoding="UTF-8"?> <!DOCTYPE?mapper?PUBLIC?"-//mybatis.org/DTD?Mapper?3.0"?"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper?namespace="com.zoey.model.UserMapper"> ??<insert?id="addUser"> ?????insert?into?user(username,password,name,tel,email)?values ?????(#{username},#{password},#{name},#{tel},#{email}) ??</insert> ?? ??<select?id="find"?parameterType="String"?resultType="User"> ?????select?*?from?user?where?username=#{username}?and?password=#{password} ??</select> </mapper>
報錯信息如下:
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in com/zoey/mapper/UserMapper.xml
### 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: Wrong namespace. Expected 'com.zoey.mapper.UserMapper' but found 'com.zoey.model.UserMapper'.
?? ?at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
?? ?at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82)
?? ?at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66)
?? ?at com.zoey.utils.DBAccess.getSqlSession(DBAccess.java:23)
?? ?at com.zoey.dao.UserDao.addUser(UserDao.java:17)
2018-12-20
路徑的問題找不到映射文件
2017-07-16
映射配置文件UserMapper.xml中的resultType="User"配置成全路徑的實體