浏览 6013 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-17
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-17
sql语句的问题吧
放出来看看 |
|
返回顶楼 | |
发表时间:2007-01-17
<result property="MColor" resultMap="m_color.mColorResult"/> <result property="MRole" resultMap="m_role.mRoleResult"/> <resultMap id="mColorResult" class="MColor" > <result column="f_id" property="FId" jdbcType="VARCHAR" /> <result column="f_value" property="FValue" jdbcType="VARCHAR" /> <result column="f_is_active" property="FIsActive" jdbcType="CHAR" /> <result column="f_order" property="FOrder" jdbcType="NUMERIC" /> </resultMap> 举个例子,这里主表关联了两个master表: m_color,m_role,并且这两个master表结构都是一样的,包括字段名。我在主表查询中写的是 select * ,检索的是全字段。不过这些字段中有名称重复的。现在似乎ibatis并没有依据字段的全限定名匹配bean的属性名,而是简单的用字段名(fId,fValue,,,)直接填充bean了,不知道我说明白没有 又被移到新手区了 ,难道解决不了的问题都给弄到这里么?记得好像上次发贴也很快就被K了 |
|
返回顶楼 | |
发表时间:2007-01-17
入门问题十在不想回答。。。
但是你要先给出 两个表的sql 对应的Ibits的map全部的文件包括应射与select语句 但最要命的是你可以通过重构来完成你的问题 |
|
返回顶楼 | |
发表时间:2007-01-17
自身的例子限于机密保持契约,不方便贴出来。
不过我的问题完全可以用iBatis的官方文档v2.0中第40页的内容来参考 <sqlMap namespace="ProductCategory"> <resultMap id=”categoryResult” class=”com.ibatis.example.Category” groupBy=”id”> <result property=”id” column=”CAT_ID”/> <result property=”description” column=”CAT_DESCRIPTION”/> <result property=”productList” resultMap=”ProductCategory.productResult”/> </resultMap> <resultMap id=”productResult” class=”com.ibatis.example.Product”> <result property=”id” column=”PRD_ID”/> <result property=”description” column=”PRD_DESCRIPTION”/> </resultMap> <select id=”getCategory” parameterClass=”int” resultMap=”categoryResult”> select C.CAT_ID, C.CAT_DESCRIPTION, P.PRD_ID, P.PRD_DESCRIPTION from CATEGORY C left outer join PRODUCT P on C.CAT_ID = P.PRD_CAT_ID where CAT_ID = #value# </select> </sqlMap> 这里productResult和categoryResult中同时使用了相同名字的property(都是id,description),不会有问题么? 从preparestatement log来看,rs中这些字段都没有使用全限定名(当然,可能是为了log清晰),不知道iBatis到此会如何将rs中某个字段映射到resultmap中的bean类型属性的某个属性上。 |
|
返回顶楼 | |
发表时间:2007-01-17
你写的sqlmap的参数个数与sql中返回的参数个数不匹配。。。
你没有看过文档。。。 这种事有前例可查。。。。 没有指定反回对就的Bean类型。。 |
|
返回顶楼 | |
发表时间:2007-01-17
拜托 一个SQL而已 有什么好保密的 又不知道都是啥东西 实在不行改两个名字不就完事了么
你给出的iBatis的东西 你仔细看一下 那个sql返回的是 resultMap=”categoryResult” 上面的那个 id=”productResult” 的 resultMap 里面的property是否有叫id或者什么的 对那个SQL没有影响 |
|
返回顶楼 | |
发表时间:2007-01-18
抛出异常的爱 写道 你写的sqlmap的参数个数与sql中返回的参数个数不匹配。。。
你没有看过文档。。。 这种事有前例可查。。。。 没有指定反回对就的Bean类型。。 这个,,确实只是通读了一下文档,但是重点部分也留意了,而且我也有到mail list里去找前例。。唉,,不过非常感谢"sqlmap的参数个数与sql中返回的参数个数不匹配",今天我再调查一下。 |
|
返回顶楼 | |
发表时间:2007-01-18
ddandyy 写道 拜托 一个SQL而已 有什么好保密的 又不知道都是啥东西 实在不行改两个名字不就完事了么
你给出的iBatis的东西 你仔细看一下 那个sql返回的是 resultMap=”categoryResult” 上面的那个 id=”productResult” 的 resultMap 里面的property是否有叫id或者什么的 对那个SQL没有影响 呵呵,多谢回复。 确实没啥好保密的,但是有些地方很讲究这些,出了问题吃不了兜着走。 从两位的回复看,似乎property name可以相同,我再调查一下 |
|
返回顶楼 | |