ibatis的一个很奇怪的问题

hanboxcx 2006-06-27 07:42:58
我用ibatis查询一个表内容
参数文件如下:
<statement id="getPageFunction" resultClass="java.util.HashMap" parameterClass="java.lang.String" cacheModel="functioninfoformCache">
<![CDATA[SELECT * FROM BS_FUNCTION WHERE FUN_ID = #FUN_ID#
]]>
</statement>

我通过fun_id(主键)对bs_function表进行查询,返回结果一直为空,我换成其他的列查询,例如
<statement id="getPageFunction" resultClass="java.util.HashMap" parameterClass="java.lang.String" cacheModel="functioninfoformCache">
<![CDATA[SELECT * FROM BS_FUNCTION WHERE module_id = #fddddddd#
]]>
</statement>
这样查询就没有问题

真是怪事了,我采用toad运行一下sql语句,是没有问题的。

后台输出如下:
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - Created connection 5825185.
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - {conn-100000} Connection
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - {pstm-100001} PreparedStatement: SELECT * FROM BS_FUNCTION WHERE FUN_ID = ?
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - {pstm-100001} Parameters: [retire_tech_engage]
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - {pstm-100001} Types: [java.lang.String]
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - {rset-100002} ResultSet
[QDPORT JAVA PLATFORM] 2006-06-27 19:39:23 - Returned connection 5825185 to pool.

通过察看这个输出,参数应该是进行赋值的,怎么前台就是输出一个null值呢?

我前台程序如下:
try {
java.io.Reader reader = com.ibatis.common.resources.Resources.getResourceAsReader ("sql-map-config.xml");
sqlMap = com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(reader);
out.println(sqlMap.queryForObject("PageFunction.getPageFunction", "retire_tech_engage"));

} catch (Exception e) {

//sqlMap.endTransaction();
e.printStackTrace();
}

真是郁闷啊,哪位大虾给我一个帮助???????????????
...全文
147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MBlue 2006-06-28
  • 打赏
  • 举报
回复
仔细检查sql吧

hanboxcx 2006-06-28
  • 打赏
  • 举报
回复
我用的是ibatis 2.x

sql语句我在toad里执行也没有问题,真是郁闷啊
MBlue 2006-06-28
  • 打赏
  • 举报
回复
要不就只能是查询条件写错了
确实没有符合条件的记录
SELECT * FROM BS_FUNCTION WHERE FUN_ID='retire_tech_engage'
考下来,在数据库里执行一遍
MBlue 2006-06-28
  • 打赏
  • 举报
回复
不是很清楚,你用的是ibaits1.x
换2.x 吧
hanboxcx 2006-06-28
  • 打赏
  • 举报
回复
试了n遍了,都不行。

加上trim也不行!!!


晕死了,难道ibatis对于fun_id有特殊处理?
infowain 2006-06-27
  • 打赏
  • 举报
回复
是不是因为多余的空格造成的,在数据库和java里面都使用trim试试看
kevinliuu 2006-06-27
  • 打赏
  • 举报
回复
你前台取数据的部分没有问题吧?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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