Mybatis的resultMap如果实体中部分属性名和表中字段名相同是否可以省略

放不完的风筝 2017-04-24 12:41:47
public class Good {

private int id;
private String name;
private int startprice;
private Date updatetime;
private Date deadline;
private String description;
private String uri;
private int currentprice;
private Category category;}

<resultMap type="entity.Good" id="good">
<id property="id" column="g_id"/>
<result property="name" column="g_name"/>
<association property="category" resultMap="categoryNS.category"></association>
</resultMap>
表中其它字段名和实体中的字段名是一样的,我省略不写,显示结果发现其它属性没有被反射进去。

public class User {

private int id;
private String name;
private String password;
private String sex;
private String age;
private String tel;}

而对于User这个实体

<resultMap type="entity.User" id="user">
<id property="id" column="u_id"/>
<result property="name" column="u_name"/>
<result property="password" column="u_password"/>
</resultMap>
我把resultMap中属性名和表中字段名相同省略了,发现Mybatis会把属性给反射进去
为什么有时候会反射进去,有时候不会反射进去呢,小白求教,刚学Mybatis。
<association property="category" resultMap="categoryNS.category"></association>和这个result映射有关系吗?
...全文
3674 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
放羊的牧码 2020-12-18
  • 打赏
  • 举报
回复
7楼正解,7楼以上连问题都没看明白。
唯细水静流 2017-10-15
  • 打赏
  • 举报
回复 1
你说对了,是和你的这个<association property="category" resultMap="categoryNS.category"></association>有关,根本原因是和mybatis配置的自动映射等级有关,建议去看看官方文档的这一节:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#Auto-mapping
丶太阳 2017-04-26
  • 打赏
  • 举报
回复
现在不是有工具类来生成mapper文件的么,generator那个,会自动根据你的数据库字段生成实体与映射文件,楼主以后可以用这个,感觉挺方便的
放不完的风筝 2017-04-24
  • 打赏
  • 举报
回复
引用 3 楼 Scaarf的回复:
默认mybatis是映射到跟数据库字段相同的属性上,所以,一样的话应该可以省略的,如果实体类的所有属性和数据库都一致的话,就不需要写resulMap
但是对于good我省略相同属性映射却不能够自动填入,user省略了相同的却可以填入。
Scaarf 2017-04-24
  • 打赏
  • 举报
回复
赞同2楼的说法
Scaarf 2017-04-24
  • 打赏
  • 举报
回复
默认mybatis是映射到跟数据库字段相同的属性上,所以,一样的话应该可以省略的,如果实体类的所有属性和数据库都一致的话,就不需要写resulMap
Finley-Ning 2017-04-24
  • 打赏
  • 举报
回复
如果在 statement上指定返回 resultmap 的话 必须配置resultmap才可以正确返回, 如果你statement上配置是resultType=""是返回Bean的全名 只要字段名和实体名对应 就可以自动封装到实体对象中
qq_24597963 2017-04-24
  • 打赏
  • 举报
回复
我用resultmap的时候不配置的属性就是不会映射到结果集的 不管属性名列名是否一样好像

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧