1.关系型数据库?
数据库中的表对象之间是有关系的。
一对一,一对多,多对多。
ORM映射。数据库表映射到实体对象。
实体与实体之间是有关系的。
一对多的关系。
比如商品分类表与商品表之间的关系,就是一对多的关系。
入库主表与入库子表之间的关系,也是一对多的关系。
出库主表与出库子表之间的关系,也是一对多的关系。
2.如果我们获取的时候,只想获取单表的数据:
尽可能不用关联查询的时候就不用。
延迟加载,也叫懒加载,比如我们取商品信息表的数据,只会从商品信息表里去获取,如果发现我们除了取商品信息表的数据的时候,还会取商品分类表的数据,那么这个时候才会去查询商品分类表的数据。
实现延迟加载的步骤:
首先需要配置mybatis中使用延迟加载:
需要配置jar包,cglib的jar包。
3.实体与实体之间的关系设定。
设计思路,在产品实体类中会有一个产品分类的实体对象。
在分类的实体对象中会有一个产品表的集合对象数据。
比如产品表,那么会有一个产品分类的实体对象:
映射的配置(配置在实体XML里面):
对于产品分类表,那么会对应到多个产品,实际就是在产品分类表里会有产品的集合:
那么对应的映射结果集(配置在对应产品类型的xml里面):