id&Result的区别
在学习的时候就很好奇了同样的标签为啥一个用id 其他用result呢?
相同点
都将一个列的值映射到一个简单数据类型(字符串,整型,双精度浮点数,日期等)的属性或字段。
不同点
这两者之间的唯一不同是, id 表示的结果将是对象的标识属性,这会在比较对象实例时用到。 这样可以提高整体的性能,尤其是缓存和嵌套结果映射(也就是联合映射)的时候。
当id 改为result后
<result property="roleId" column="id"></result>
<result property="roleName" column="role_name"></result>
<result property="roleDesc" column="role_desc"></result>
结果如下:
property&&column
property: 映射数据库列的字段或属性,如果JavaBean的属性与给定的名称匹配,就会使用匹配的名字,否则MyBatis将搜索给定名称的字段,两种情况下你都可以使用逗点的属性形式。(Java中的名字)
column:数据库的列名或者列标签别名。(数据库的名字)