spring+ibatis下报错:There is no statement named selectSQL in this SqlMap

huangama2011 2011-09-01 04:35:50
There is no statement named selectSQL in this SqlMap
代码如下:

beans-ibatis.xml:
<bean id="meatOutInfoBaseDao" class="com.sunraw.kunming.dao.impl.MeatOutInfoBaseDaoImpl">
<property name="sqlMapClient">
<ref local="client" />
</property>
</bean>

<bean name="meatOutInfoBaseService"
class="com.sunraw.kunming.service.impl.MeatOutInfoBaseServiceImpl">
<property name="meatOutInfoBaseDao">
<ref bean="meatOutInfoBaseDao" />
</property>
</bean>

SqlMapConfig.xml:
<sqlMapConfig>
<!--定义iBATIS自身应用信息-->
<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="200" maxSessions="100"
maxTransactions="20" useStatementNamespaces="true" />


<sqlMap resource="User.xml" />
<sqlMap resource="MeatOutInfoBase.xml" />
<sqlMap resource="MeatOutInfoDetail.xml" />
<sqlMap resource="MeatOutInfoSendFail.xml" />
</sqlMapConfig>

MeatOutInfoBase.xml:
<sqlMap namespace="MeatOutInfoBase">

<typeAlias alias="MeatOutInfoBase" type="com.sunraw.kunming.model.MeatOutInfoBase" />

<resultMap id="SelectResult" class="MeatOutInfoBase">
<result property="tranId" column="TRAN_ID" />
<result property="butcherFacId" column="BUTCHER_FAC_ID" />
<result property="butcherFacName" column="BUTCHER_FAC_NAME" />
<result property="transantionDate" column="TRANSANTION_DATE" />
<result property="sellerId" column="SELLER_ID" />
<result property="sellerName" column="SELLER_NAME" />
<result property="buyerId" column="BUYER_ID" />
<result property="buyerName" column="BUYER_NAME" />
<result property="dest" column="DEST" />
<result property="sendState" column="SEND_STATE" />
<result property="sendFailReson" column="SEND_FAIL_RESON" />
</resultMap>

<select id="selectSQL" resultMap="SelectResult">
<![CDATA[
select
TRAN_ID,
BUTCHER_FAC_ID,
BUTCHER_FAC_NAME,
TRANSANTION_DATE,
SELLER_ID,
SELLER_NAME,
BUYER_ID,
BUYER_NAME,
DEST,
SEND_STATE,
SEND_FAIL_RESON
from meat_out_info_base
]]>
</select>
</sqlMap>

dao:
public interface MeatOutInfoBaseDao extends GenericDao<MeatOutInfoBase, String> {

}
dao.impl:
public class MeatOutInfoBaseDaoImpl extends GenericDaoImpl<MeatOutInfoBase, String> implements MeatOutInfoBaseDao {

}
service:
@WebService
public interface MeatOutInfoBaseService extends GenericService<MeatOutInfoBase,String> {
//public boolean Login(String userName, String password);
}
service.impl:
@WebService(endpointInterface = "com.sunraw.kunming.service.MeatOutInfoBaseService")
public class MeatOutInfoBaseServiceImpl extends GenericServiceImpl<MeatOutInfoBase, String> implements MeatOutInfoBaseService {

private MeatOutInfoBaseDao meatOutInfoBaseDao;

public void setMeatOutInfoBaseDao(MeatOutInfoBaseDao meatOutInfoBaseDao) {
this.meatOutInfoBaseDao = meatOutInfoBaseDao;
}

public GenericDao<MeatOutInfoBase, String> getDao(){
return meatOutInfoBaseDao;
}
}


错误提示:
xception in thread "main" com.ibatis.sqlmap.client.SqlMapException: There is no statement named selectSQL in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:293)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:606)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:290)
at com.sunraw.rock.dao.impl.GenericDaoImpl.select(GenericDaoImpl.java:157)
at com.sunraw.test.Tests.TestDao(Tests.java:48)
at com.sunraw.test.Tests.main(Tests.java:19)
上面红色标记处明明有selectSQL,为什么会提示这个错误呢?
...全文
1023 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yao_72 2012-05-12
  • 打赏
  • 举报
回复
遇到同样的问题了,如何解决啊?
  • 打赏
  • 举报
回复
你在dao.impl里面的构造函数里面加上这句:
super.setSqlmapNamespace("MeatOutInfoBase.");

SqlMapConfig.xml里面加上:
<settings cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true" maxRequests="200" maxSessions="100"
maxTransactions="20" useStatementNamespaces="true" />
这样应该可行的
tianshi1017 2011-09-01
  • 打赏
  • 举报
回复
CDATA 部分中的所有内容都会被解析器忽略。

teemai 2011-09-01
  • 打赏
  • 举报
回复
检查下GenericDaoImpl.java:157

There is no statement named selectSQL in this SqlMap

没用过mybatis,大概是没有在sqlMap中定义selectSQL
liushuo1987 2011-09-01
  • 打赏
  • 举报
回复
mybatis的namespace都是写成对应的接口
liushuo1987 2011-09-01
  • 打赏
  • 举报
回复
对ibatis不熟悉,和<sqlMap namespace="MeatOutInfoBase">这句有关系没?
课程简介:本项目实战课程,从基础的项目需求,到项目模块编码,均采用实战教学。目标是让学员学习项目开发的基础流程,学习市面上主流框架SpringBoot、SpringMvc、Spring、MyBatis等实战开发核心技术点。熟悉企业级项目管理与构建,提升学员代码编码能力和实战项目编码经验。养成规范化、标准化的代码编写习惯和良好的技术文档习惯。相信通过整个项目的学习和编码,学习Java项目开发中的难点技术,深刻理解Java编程中的技术原理,以帮助学员走向高手之路。 项目技术栈: - 采用SpringBoot简化商城系统的初始搭建以及开发过程- 开发环境采用Maven实施多模块项目构建,采用Git进行项目版本管理;- 采用SpringMVC+Spring+IBatis完成项目的整合- 采用Mysql作为数据库存储,druid配置数据库连接池- 采用FastDFS文件储存系统文件存储,完成广告图片、商品图片的上传和存储- 使用ECharts根据后台查询数据生成图表- 使用POI实现了商城盈利状况的Excel表格导出。- 商品的详情页使用Thymeleaf完成页面静态化,减少页面数据展示延迟- 项目中使用SpringBoot下的Aop + 自定义注解完成用户行为记录,日志采集- 后台管理系统使用Shiro实现登录验证和权限管理(超级管理员、管理员、产品编辑员) 项目部分截图:            

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧