//变通,多对一
private Seckill seckill;
没有在Mybatis中配置多对一的关系,Seckill 是如何把结果返回?
小白提问,谢谢。
就是通过设置别名的时候,把值set进Secskill.如果别名里面的类名不是Secskill的话,单元测试会输出NULL
在4-5小节中,在编写queryByIdWithSecKill的SQL语句时,老师有说过的,就是通过连接查询,带回seckill表的列值,这些列值通过“别名”的技巧,如 s.name "seckill.name" ,这样写,当数据库返回name字段的值时,MyBatis会解析你写的别名,把这个返回值set到SuccessKilled里的SecKill对象的name属性值,这个过程是MyBatis处理的,对我们使用者来说透明,底层利用的技术应该是Java的反射。