mybatis中传入map类型的数据返回int类型数据 5
<selectid="selectByBusIdentifyExcludeId"parameterType="java.util.Map"resultType="int"...
<select id="selectByBusIdentifyExcludeId" parameterType="java.util.Map"
resultType="int">
select count(1) from base_bus where bus_identify =
#{busIdentify,jdbcType=VARCHAR}
<if test="id != null and id != '' ">
and id <![CDATA[<>]]>
#{id, jdbcType=INTEGER}
</if>
</select>
这段代码为什么总是返回0;mysql中确实有bus_identify = #{busIdentify,jdbcType=VARCHAR}的行。
主要是想应用在数据库中的唯一键的。 展开
resultType="int">
select count(1) from base_bus where bus_identify =
#{busIdentify,jdbcType=VARCHAR}
<if test="id != null and id != '' ">
and id <![CDATA[<>]]>
#{id, jdbcType=INTEGER}
</if>
</select>
这段代码为什么总是返回0;mysql中确实有bus_identify = #{busIdentify,jdbcType=VARCHAR}的行。
主要是想应用在数据库中的唯一键的。 展开
展开全部
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。当提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,因为Map不能很好表示领域模型,我们就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。
2015-08-11
展开全部
<if test="id != null and id != '' ">
and id <![CDATA[<>]]>
#{id, jdbcType=INTEGER}
</if>
这个条件呢?如果条件成立,里面的判断有没有满足的呢?
and id <![CDATA[<>]]>
#{id, jdbcType=INTEGER}
</if>
这个条件呢?如果条件成立,里面的判断有没有满足的呢?
更多追问追答
追问
这个条件是用于修改的时候判断唯一键bus_identify是否被修改,如果没有修改的话还是可以存储的。
追答
select count(1) from base_bus where bus_identify = (busIdentify),这样你说有记录;
select count(1) from base_bus where bus_identify = (busIdentify) and id (id);这样有没有记录存在?不清楚你要做什么,但是后面and后面的条件不满足,显然会是0啊。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询