<pre>再搭建SSI框架时,做验证时!报了ibatis的这样一个错误:
经过查明是由于sqlMap-config.xml中的namespace没有配置。
在使用ibatis时,要特别注意一些低级错误:
(1)是mapper.xml一定要配置自己的namespace,
(2)配置好的mapper.xml一定要被sqlMap-config.xml所引用,否则ibatis找不到对应的映射的。
<sqlMapConfig>
<settings cacheModelsEnabled = "false"
enhancementEnabled = "false"
lazyLoadingEnabled = "false"
useStatementNamespaces = "true"
maxRequests = "128"
maxSessions = "64"
maxTransactions= "16"
/>
<!-- 引入mapper 文件 -->
<sqlMap resource="/com/zengMeizan/charge/domain/sqlMap/UserMapper.xml"/>
</sqlMapConfig>
(3)在实际的dao接口的实现类中,继承SqlMapClientDaoSupport ,而且使用insert("nameSpace.id",object)的语句,
<span style="white-space:pre"> </span><pre name="code" class="java">public class UserDao extends SqlMapClientDaoSupport implements IUserDao {
public static final String NAMESPACE ="user.";
/**
* 新增数据
*/
@Override
public int addUser(UserEntity userEntity) {
Date now =new Date();
userEntity.setActive("Y");
userEntity.setCreateTime(now);
userEntity.setModifyTime(now);
UserEntity result= (UserEntity) this.getSqlMapClientTemplate().insert(NAMESPACE+"insertOneUser", userEntity);
return result !=null?1:0;
}
}
(4) 当然要在mapper.xml 要指定自己的namespace.