- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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数据库
您可能关注的文档
- 大学生职业生涯规划第五章职业生涯目标设计与实施.pptx
- 大学生职业生涯规划第一章职业生涯规划导论.pptx
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件1 MyBatis入门.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件02MyBatis 基础操作-简单查询.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件02MyBatis 基础操作-增删改.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件03MyBatis复杂查询-集合查询-1.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件03MyBatis复杂查询-集合查询-2.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件03MyBatis复杂查询-鉴别器.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件04 01MyBatis自动生成工具.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件04MyBatis动态sql.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05SpringMVC框架-简易的MVC框架.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05Spring框架基础.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05Spring框架基础-AOP.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05Spring框架基础-控制反转.ppt
- JavaEE框架技术(SpringMVC+Spring+MyBatis)课件05Spring框架基础-控制反转2.ppt
原创力文档


文档评论(0)