最近在学习中,遇到一个混淆点,写篇文章记下来。在Mybatis中使用select语句时,会使用association和collection进行映射。两者的区别主要是,association用于一对一,即一个实体类对象是另一个实体类对象的属性;collection用于一对多,例如一个实体类对象里 ...
讲了many one和one many,下面来看看get方法。在之前已经说过,如果是映射单对象,直接使用association来映射。而如果关系 是一个集合,则需要使用collection来描述。和association一样,mybatis不会去管关系是many many还是 one many。同理要完成collection映射,也应该有两种方式, ,发送另一条sql ,内联映射。 第一种配置方式 ...
2014-06-27 17:47 0 3536 推荐指数:
最近在学习中,遇到一个混淆点,写篇文章记下来。在Mybatis中使用select语句时,会使用association和collection进行映射。两者的区别主要是,association用于一对一,即一个实体类对象是另一个实体类对象的属性;collection用于一对多,例如一个实体类对象里 ...
之前我们提到的映射,都是简单的字段和对象属性一对一,假设对象的属性也是一个对象,即涉及到两个表的关联,此时应该如何进行映射处理? 先看两张表,author 和 book: 业务上对应关系为,一个作者能写多本书,但是一本书只有一个作者。对应的Java类如下: ...
高级结果映射 MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的。虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是。如果有一个数据库能够完美映射到所有应用程序,也将是非常棒的,但也没有。结果集映射就是MyBatis为解决这些问题而提供的解决方案 ...
在阅读本文章时,先说几个mybatis中容易混淆的地方: 1. mybatis中的列不是数据库里的列而是查询里的列,可以是别名(如 select user_name as userName ...
转:http://blog.csdn.net/ilovejava_2010/article/details/8180521 高级结果映射 MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的。虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是。如果有一个 ...
Employee.java Department.java DepartmentMapper.java DepartmentMapper.xml 说明:这实际上是多对一查询,即一个部门里面有多个员工。collection标签中 ...