MyBatis多表关系查询时的注意事项
来源:互联网 发布:人肉搜索 网络暴力 编辑:程序博客网 时间:2024/04/29 17:46
property:类中的属性名
column:表中的字段名称 sql语句查询出来的字段的名称 如果没有起别名那么默认的就是数据库中表的别名 如果起别名那么就要用别名
坑点:
数据库:注意看外键关系
position表
user表
<!-- 查询结果集注意 position p中主键的字段名是id user u中字段的值同样是id 如果结果查询语句和结果集如下 -->
<select id="selPos1" resultMap="brm1"> select p.*,u.id,u.username,u.password from position p,user u where p.id = u.pid and p.id=#{id} </select> <!-- 自定义结果集 --> <resultMap type="Position" id="brm1"> <id property="id" column="id"/> <result property="name" column="name"></result> <result property="infor" column="infor"></result> <collection property="users" ofType="User"> <id property="id" column="id"/> <result property="username" column="username"></result> <result property="password" column="password"></result> </collection> </resultMap>
如图所示如果查询一个id为position时 所带出来的user只有一个 但是数据库中有两个user
为什么?因为p.*中查出来的一个字段叫id u.id的字段也叫id 重复了 下面集合给user的主键id赋值时 id都是取最前面的id 也就是p.*中的id
所以只有一个user 而且id和数据库中的id不符合
解决:起别名
<select id="selPos1" resultMap="brm1"> select p.*,u.id uid,u.username,u.password from position p,user u where p.id = u.pid and p.id=#{id} </select> <!-- 自定义结果集 --> <resultMap type="Position" id="brm1"> <id property="id" column="id"/> <result property="name" column="name"></result> <result property="infor" column="infor"></result> <collection property="users" ofType="User"> <id property="id" column="uid"/> <result property="username" column="username"></result> <result property="password" column="password"></result> </collection> </resultMap>
阅读全文
0 0
- MyBatis多表关系查询时的注意事项
- mybatis一对多查询的注意事项
- mybatis框架(多表关系查询)
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- mybatis中使用in查询时的注意事项
- MyBatis--关联关系查询--一对多--多表连接查询
- 多表查询之join关联关系注意事项
- MyBatis中多对多关系的映射和查询
- MyBatis中多对多关系的映射和查询
- MyBatis中多对多关系的映射和查询
- ssm框架学习---mybatis中一对多关系的查询
- mybatis 联合查询注意事项
- 类和对象输出学生信息
- python中用open打开文件,报错 IOError:[Error 22] invalid mode ('rb') or filename
- android 二维码的简单扫描的实现
- 第三周项目3-求集合并集
- c++字符串转换字符指针
- MyBatis多表关系查询时的注意事项
- 读完论文要回答的问题
- parenthesis 括号匹配 (区间dp)
- css笔记
- C++ 标准模板库实现list循环删除操作
- 安卓学习笔记汇总
- Codeforces 876 C Classroom Watch 基础数学,暴力
- POJ2299 树状数组求逆序数
- BZOJ1115(洛谷P3480)[POI2009]KAM-Pebbles