MyBatis-Day03
第一节、MyBaits的自动映射
在SQL查询结果的时候,如果字段名和属性名一致,且每一个属性有对应的set方法,MyBatis就会根据字段名与属性名进行自动映射。
条件:
1、字段名与属性名必须一致
2、开启自动映射配置(默认是开单表的自动映射)
第二节、解决不能自动映射的问题
字段名与属性名不一致的问题
方式一、
如果字段与属性名之间关系 字段名
方式二、
我们在SQL查询的时候取别名,别名的名字与属性名一致–MyBatis帮你做自动映射
解决:
<select id="getAllGoods" resultType="goods">
SELECT goods_id id ,goods_name name ,goods_location location ,goods_price price,goods_cid cid FROM goods;
</select>
为什么:取别名后执行SQL查出来的结果如下。结果集中字段名与属性是一致,所以可以做自动映射。
方式三、
在MyBatis层面解决
通过ResultMap解决–手动映射
第三节、通过MyBatis实现一对一,一对多的查询(级联查询–多表查询)
一对一的查询
什么叫做一对一:学校–校长 商品–商品分类
一对一在数据库中怎么体现:通过字段与字段之间的关联
在实体类中怎么体现:
private int id;
private String name;
private String location;
private double price;
//在实体类中描述一对一这种关系 组合
private Category category;