Association联合select使用容易出差问题地方
mapper配置:
<resultMap type="com.demo.sys.entity.Menu" id="menuMap">
<id property="id" column="id" />
<result property="name" column="menu_name" />
<result property="url" column="url" />
<result property="active" column="isactive" />
<result property="createDate" column="createdate" />
<result property="updateDate" column="updatedate" />
<result property="bak1" column="bak1" />
<result property="bak2" column="bak2" />
<result property="bak3" column="bak3" />
<result property="locale" column="locale" />
<result property="orderNum" column="ordernum" />
<association property="module" column="module_id" resultMap="moduleMap" select="queryModule">
</association>
</resultMap>
<resultMap type="com.demo.sys.entity.Module" id="moduleMap">
<id property="id" column="id" />
<result property="name" column="module_name" />
<result property="remark" column="remark" />
<result property="createDate" column="createdate" />
<result property="updateDate" column="updatedate" />
</resultMap>
<select id="queryModule" resultMap="moduleMap" >
select * from sys_module where id =#{id}
</select>
这种配置导致问题:
Menu.module的属性很多都是为null,除了id不为空。
经过调试发现问题出在:
<association property="module" column="module_id" resultMap="moduleMap" select="queryModule">
</association>
去掉resultMap,修改为:
<association property="module" column="module_id" select="queryModule">
</association>
结果Menu.module的属性可以正确被mybaties设置进去,都有值了。
Association联合select使用值得注意的细节地方:
这是我使用mybatis的Association联合select使用存着问题的地方,
<association property="module" column="module_id" select="queryModule">
</association>
mybatis会根据类似resultSet.getInt("module_id")的值,压入到select 为queryModule 的SQL输入参数里面。
<select id="queryModule" resultMap="moduleMap" >
select * from sys_module where id =#{id}
</select>
我以前一直纠结于#{id}是指Menu.id还是module的主键或外键id属性。
而select 为queryModule的SQL输入参数可以随便给名称,只要是输入参数与压入进去的值类型相同就行了,可以写成:
select * from sys_module where id =#{jjjasdasdid}
不管输入参数名称是什么,mybatis最终会执行:
效果为:select * from sys_module where id =resultSet.getInt("module_id");
分享到:
相关推荐
很好的实例,简单易懂,适合新手
mybatis 批量插入 嵌套select
mybatis-association
mybatis中mapper文件resultMap中collection和association的使用,参考地址:https://blog.csdn.net/zhizhuodewo6/article/details/82863452
主要介绍了详解mybatis中association和collection的column传入多个参数问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
mybatis中文离线文档
springboot集成redis、mybatis 1、集成redis 2、集成mybatis 3、自定义redis KEY生成器/...6、二级缓存联合使用 方式一:redis原生方法工具类(RedisService)+redis+mybatis 方式二:CacheManager+redis+mybatis
mybatis简单使用mybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单...
MyBatis 映射器 Select元素示例 Demo
今天小编就为大家分享一篇关于mybatis利用association或collection传递多参数子查询,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
MyBatis 中文注释源码,直接导入eclipse工程即可,源码中加了中文注释,可以学习研究底层,成就自我成长!
主要介绍了Mybatis中collection和association的使用区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了MyBatis之自查询使用递归实现 N级联动效果,本文给大家分享两种实现方式,需要的的朋友参考下吧
mybatis_3.5.9官方中文文档pdf
Mybatis中执行String类型的自己拼写的sql,不执行配置文件中的sql mybatis sql connection mybatis中使用sql,不实用配置文件中的sql实例
本文档主要讲解Spring与mybatis与jdbc结合使用的方法和例子。
mybatis中文帮助文档和应用jar包.
mybatis 关联查询 一对一 一对多 ResultMap association collection 完整代码
Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis API中文帮助文档 Mybatis ...
mybatis中,sqlserver分页