框架应用:Mybatis (三) - 关系映射】的更多相关文章

你有一张你自己的学生证?(一对一) 你这一年级有多少个学生?(一对多) 班上学生各选了什么课?(多对多) 两张表以上的操作都需要联立多张表,而用SQL语句可以直接联立两张表,用工程语言则需要手动完成这些关系对接.如mybatis需要手动配置表之间的关系,作为结果. 一对一映射 创建student, cards 表 DROP TABLE students1; DROP TABLE cards1; CREATE TABLE cards1( id ) PRIMARY KEY, num ) ); CRE…
一.myBatis对象关系映射(多对一关系.一对多关系) 1.多对一关系: ---例子:多个员工同属于一个部门. (1)myBatis发送 额外SQL: ■ 案例:员工表通过 dept_id 关联 部门表,需求:查询指定员工id.name.所属的部门名称的信息. //部门对象的接口.映射文件省略,跟员工逻辑差不多 /* 员工对象的接口 */ public interface EmployeeMapper { Employee get(Long id); } <!--员工对象的映射文件--> &…
使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 目录 使用MyBatis框架进行持久层开发 你需要了解的知识点 1.什么是SqlSessionFactory? 2.MyBatis…
MyBatis中的高级映射一般要借助select元素中的resultMap属性进行实现,通过此属性配置实现一对一,一对多等关系映射的实现 一对一映射:association 一对多映射:collection 解释:服务层调用一次mapper的接口,完成多个表的数据封装在一个值对象中.这个值对象一般包括直接调用的mapper接口对应的表字段属性,其他表字段的对象,其他表字段的集合等等. 服务层直接调用findOrderById,mybatis帮助我们实现了findOrderShipping和fin…
在实际开发中,对数据库的操作通常涉及多张表,涉及了对象和对象之间的关联关系.针对多表之间的操作,MyBatis提供了关联映射,通过关联映射就可以很好的处理对象与对象之间的关联关系 9.1 关联关系概述 一对一:在任意一方引入对方主键作为外键. 一对多:在“多”的一方,添加“一“的一方的主键作为外键.(连着多条线的一方是“多”) 多对多:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键. 用Java对象描述 class A{ B b; } class B{ A…
一.多对一的映射关系 举例:根据员工编号查询员工所在部门的部门信息 第一步,需要在多的一方也就是员工实体类中持有一的一方部门实体类的引用 第二步,在dao接口中声明方法 第三步,在mapper中实现该方法 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespa…
1.单向多对一 1.映射文件配置 2.model: 测试 1.查询测试 执行顺序,先查询多方,在查询一方,一方采用延迟加载 注意:如果不使用一方的数据,就关闭session,报错,同延迟加载中的报错类型一样 测试控制台输出为: 2.保存测试 输出结果: 注意: 1.保存测试先保存商品后保存分类: 测试结果: 结论:很明显先保存商品后保存分类,要执行5句sql,效率低. 实际情况,我们先把类型分好,然后进货的时候就直接可以分类.但是如果相反的话,我们就要先进货,再分类型,再把货放到相应类型中去 2…
入门 http://legend2011.blog.51cto.com/3018495/908956 增删改 http://legend2011.blog.51cto.com/3018495/913063…
MyBatis既然是一个ORM框架,则它也有像Hibernate那样的一对多,多对多,多对一的实体关系映射功能.下面我们就来介绍一下如何使用MyBatis的实体关系映射 1.MyBatis实体关系映射,对于我个人来讲常用的有下面两种 多对一:在子表的映射文件中添加association 一对多:在父表的映射文件中添加collection 2.MyBatis中多对一的案例 先创建两张表 CREATE TABLE `student` ( `sid` int(11) default NULL, `sn…
实际的开发中,对数据库的操作常常会涉及到多张表,这在面向对象中就涉及到了对象与对象之间的关联关系. 针对多表之间的操作,MyBatis提供了关联映射,通过关联映射就可以很好的处理对象与对象之间的关联关系. 目录 你需要了解的知识点 1.关联关系种类 数据库: java 2.关联查询方式 使用 1.创建实体类 2.创建SQL映射的XML文件 3.注册SQL映射的XML文件 4.创建表格 5.测试一对一关联映射 你可能会出现的问题 问题一:提示缺少构造函数 写在最后 你需要了解的知识点 1.关联关系…