JavaEE框架技术(SpringMVC+Spring+MyBatis)课件03MyBatis复杂查询-关联查询.ppt

JavaEE框架技术(SpringMVC+Spring+MyBatis)课件03MyBatis复杂查询-关联查询.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
框架程序设计java 框架程序设计java 框架程序设计java 框架程序设计java * * 第3章 Mybatis复杂查询 框架程序设计(Java) * 学习目标 mybatis的关联查询 2 mybatis的集合查询 3 mybatis的鉴别器 4 自定义映射关系 1 * 1自定义映射关系 回顾自定义结果集相关知识点 select id=findUserByMap parameterType=hashmap resultType=domain.User SELECT * FROM user where username=#{username} and password=#{password} /select 说明 mybatis会自动将SQL语句执行的结果映射到domain.User类对应的属性上(前提是数据库字段名称必须与User类中的属性名称比配) * 1自定义映射关系 假设domain.User类结构修改如下: public class User { private String name; private String pass; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } } 思考: 数据库库字段名称与User类中的属性名称不同,mybatis还能自动映射吗? * 1自定义映射关系 当自定义实体类属性与数据库字段名称不匹配时: 解决方法: 使用select语法:将列名取一个别名 使用resultMap自定义映射关系 * 1自定义映射关系 使用select语法:将列名取一个别名 select id=findUserByMap parameterType=hashmap resultType=domain.User SELECT username as name,password as pass FROM user where username=#{username} and password=#{password} /select 说明 mybatis会自动将SQL语句执行的结果映射到domain.User类对应的属性上(前提是数据库字段名称必须与User类中的属性名称比配) * 1自定义映射关系 使用resultMap自定义映射关系 resultMap是Mybatis最复杂最强大的元素,它可以完成复杂的数据映射:将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中。 * 1自定义映射关系 在SQL配置文件中加入resultMap 标签 resultMap type=domain.User id=user id property=name column=username/ result property=pass column=password/ /resultMap 说明: resultMap 标签中:id为其唯一的标识,type为需要映射的自定义实体类 id和result都是用于映射单列值到一个简单数据类型的属性,唯一不同是。id是作为唯一标识的,也就是主键 column表示数据库列名,property为自定义实体类中对应的属性 * 1自定义映射关系 使用resultMap属性返回结果 select id=findUserByMap parameterType=hashmap resultMap=user SELECT username ,password FROM user where username=#{username} and password=#{password} /select 说明 mybatis会自动将SQL语句执行的结果根据我们定义的映射规则映射到domain.User类对应的属性上 * 2mybatis的关联查询-目录 1)联合查询 2)构造查询 3)子查询 * 2.1联合查询-任务描述 例子1:进行多表联合查询 表名employee(雇员信息表) username 用户名 字符串 10位 主键 password 密码 字符串 6位 非空 deptid 部门id 整型 外键 表名department(部门信息表) id 部门id 整型 自动递增 主键 deptname 部门名称 字符串 10位 非空 数据 要求用mybatis框架编程,mysql数据库

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档