解决方案 »
- java web开发后台都写的啥逻辑啊
- 多表单提交时正则表达式验证问题
- 关于Struts得<html:img>标签的问题,紧急求就
- [Microsoft][ODBC SQL Server Driver][SQL Server]将截断字符串或二进制数据 怎么解决?
- 验证出错了,请大侠看一看!!
- 很低级的问题:我装了jrun,但不知道怎么用
- 小问题,多些支持
- 如何将JSP文件显示出来,象HTML一样的显示出来!!急!!
- JSP取得<html:select 中labelProperty的值
- 我猜,可能是服务器资源问题~~!
- 湖北人请加java群,群号42851417
- 如何让一个包含(定时查询数据库的JS)的页面过期?
为什么queryForList("product.getAllProduct");和queryForList("getAllProduct");一样,我想只有当工程中存在唯一个getAllProduct方法才能用第二种调.而第一种就不同了,带了包名.
ibatis不是很了解...
一个没加
配置了useStatementNamespaces="true" ,应加命名空间
<![CDATA[
SELECT id, username, password FROM users WHERE id = #id#
]]>
</select>请注意这里的 id="getUserById" 在同一个命名空间中是不允许重复的,那么也就意味着在不同的命名空间中是允许重复的。通常状况下在DAO中我们这么引用smc.queryForList("getUserById");这一行中的getUserById就是SQLMap中的getUserById。如果SQLMap中不同命名空间中出现了重复的ID我们怎么用?我们可以这么用smc.queryForList("User.getUserById");也就是在getUeserById前加上我们需要的命名空间即可正确的访问我们期望的SQL。本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bukebushuo/archive/2008/06/06/2517010.aspx
<sqlMap的namespace>.<各个bean中的id>在ibatis的sql-map.xml里面,
有个参数是定义是否必须使用全名来调用标签的,
好像叫“enhancementEnabled”
默认的是false,也就是不用<sqlMap的namespace>,
而直接用id的值就可以。但是因为大项目可能有id重复的情况,
所以建议设置成true,就是用全限定名来访问lz自己翻翻资料吧good luck
"getAllProduct");
但是我在网上看到这样写也可以
Java code
List<Product> listProduct = getSqlMapClientTemplate().queryForList(
"product.getAllProduct");;
useStatementNamespaces="false"
seStatementNamespaces="false"
是否使用Statement命名空间。
这里的命名空间指的是映射文件中, sqlMap节点
的namespace属性,如在上例中针对t_user
表的映射文件sqlMap节点:
<sqlMap namespace="User">
这里,指定了此sqlMap节点下定义的操作均从
属于"User"命名空间。
在useStatementNamespaces="true"的情
况下,Statement调用需追加命名空间,如:
sqlMap.update("User.updateUser",user);
否则直接通过Statement名称调用即可,如:
sqlMap.update("updateUser",user);
但请注意此时需要保证所有映射文件中,
Statement定义无重名。