连表查询
select
id
resultType
resultMap
resultType和resultMap不能同时使用

association 属性 映射到多对一中的“一”方的“复杂类型”属性,例如javabean user对象中嵌套一个复杂类型属性
property 映射数据列的实体类属性 这里就是role
javaType 完整java类名或者别名
resultMap 引用外面的resultMap
association 子元素
id 主键id
result 映射到javabean的某个“简单类型”的属性
property 映射数据列的实体类属性
column 数据库表字段或者别名
collection属性 映射到一对多中的“多”方的“复杂类型”属性,例如集合 role对象中嵌套一个复杂类型属性
property 映射数据列的实体类属性 这里就是user
ofType 完整java类名或者别名
resultMap 引用外面的resultMap

多对一 “一”方
实体类:
public class User {

private Integer id;
private String userName;
private String userPassword;
//创建一个角色对象 作用是查看用户信息同时还要看角色信息
private Role role;

省略getter和setter方法
}
sql映射文件:
<mapper namespace="com.y2196.dao.UserMapper">

<resultMap type="com.y2196.entity.User" id="user">
<id property="id" column="id"/>
<result property="userName" column="userName"/>
<result property="userPassword" column="userPassword"/>
<!-- 多对一 “一”方 要使用association来映射-->
<association property="role" javaType="com.y2196.entity.Role">
<!-- 当有字段名相同的时候,要使用别名方式来区分 -->
<id property="id" column="rid"/>
<result property="roleName" column="roleName"/>
</association>

</resultMap>
<!-- select标签 resultType和resultMap不能同时使用 -->
<select id="findUserList" resultMap="user">
SELECT u.*,r.id AS rid,r.roleName FROM `user` u INNER JOIN role r ON u.roleId = r.id
</select>
</mapper>

一对多 “多”方
实体类:
public class Role {

private Integer id;
private String roleName;

private List<User> userList;

省略getter和setter方法
}
sql映射文件:
<resultMap type="com.y2196.entity.Role" id="role">
<!-- 当有字段名相同的时候,要使用别名方式来区分 -->
<id property="id" column="rid"/>
<result property="roleName" column="roleName"/>
<collection property="userList" ofType="com.y2196.entity.User" resultMap="user"/>
</resultMap>

<select id="findRoleList" resultMap="role">
SELECT u.*,r.id AS rid,r.roleName FROM `user` u INNER JOIN role r ON u.roleId = r.id
</select>

最新文章

  1. NSURLConnection的使用
  2. final发布视频
  3. 渗透杂记-2013-07-13 关于SMB版本的扫描
  4. HTML5的Server-Sent Events介绍
  5. hdu5269 Chip Factory
  6. 有了这个,再也不用每次连新机器都要设置secure crt属性了
  7. Uniscribe文字自动换行
  8. centos6.2下安装redis和phpredis扩展,亲测好用
  9. git for windows+TortoiseGit客户端的使用
  10. php类 静态变量赋值 static $name=&quot;abc&quot;
  11. Windows7 下安装ORACLE 11G(遇到的问题)
  12. C语言中结构体对齐问题
  13. Linux cat命令详解
  14. android获取apk签名信息
  15. IOS计划 分析
  16. shareInstance
  17. 在Eclipse中使用git把项目导入到git中--转载
  18. 我是如何用redis做实时订阅推送的
  19. Javascript Date类型
  20. 【记录】Linux环境安装mysql8.0

热门文章

  1. django基础知识之状态保持session:
  2. 西门子S7-1200与 G120系列变频器USS通信
  3. cookie、sessionSttorage、localStory区别
  4. springboot之mybatisplus,mp的简单理解
  5. python基本用法
  6. Web自动化测试 五 ----- selenium的等待和切换
  7. Java秒杀系统实战系列~整体业务流程介绍与数据库设计
  8. Webpack打包效率优化篇
  9. php 常用函数总汇
  10. Spring:IOC本质分析探究