一. mybatis的高级映射
1.1 单表,字段不一致
resultType输出映射:
要求查询的字段名(数据库中表格的字段)和对应的java类型的属性名一致,数据可以完成封装映射
如果字段和java属性名不一致,则查出来的结果中不一致的那个属性对应的值为null,如下:
Product中书名的属性名为name,但数据库的products表中相应的字段名为book_name
最终查询得到的结果如下(省略了代码部分)
可见查到的name属性为null,解决方法有两种
(1)在查询的sql语句中起别名,如下
(2)手动指定 ,通过resultMap标签
可以手动的指定某个字段封装在哪个属性中
id和result都是映射单列值到一个属性或者字段的简单数据理性,唯一不同的是,id是作为标签的唯一标识,当合其他对象实例对比的时候,这个id很有用,尤其是应用到缓存和内嵌的结果映射
注意;在单表查询的时候,尽量使用resultType来进行映射(别名)
原文地址:https://www.cnblogs.com/jj1106/p/11660585.html
时间: 2024-11-05 16:31:42