Mybatis中resultMap的Colum和property怎么用

发布时间:2022-01-10 14:15:51 作者:iii
来源:亿速云 阅读:200

本文小编为大家详细介绍“Mybatis中resultMap的Colum和property怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mybatis中resultMap的Colum和property怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

resultMap的Colum和property属性

1: resultMap标签

当我们的数据库字段与实体类的属性不一致时,就需要使用该标签进行一一映射。

2:使用情况

2.1 简单查询
 <resultMap id="这个resultMap的id" type="对应实体类的全限定类名">
         <id column="id" property="id"></id>
        <result column="username" property="name"></result>
        <result column="author" property="author"></result>
        <result column="number" property="number"></result>
       .............
       colum对应数据库的字段,property对应实体类的属性
    </resultMap>

他表示对数据按照什么样的规则进行一一映射,如:

  <!-- 根据编号查找书籍-->
    <select id="SelectbooksByNumber" parameterType="String"  resultMap="名字">
        select * from book where number=#{number};
    </select>

上面的查找结果按照你给的resultMap的对应规则进行映射。

2.2 一对一

需要注意的是你sql语句查出来的列名称是别名,那你就要填别名,就不是你数据库的列名称了。

返回结果:User
User中含有Role属性集合 一对多的关系
JavaType是用来指定pojo中属性的类型

2.3 一对多

同样和一对一 一样需要注意列名称。

返回结果:User
User中含有Role属性集合 一对多的关系
JavaType是用来指定pojo中属性的类型,
ofType指定的是 映射到list集合属性中pojo的类型
其中Role属性集合为List

pojo

public class User implements Serializable {
    private Integer id;
    private String username;
    private String password;
    private String salt;
    private Integer status; // 用户状态 0: 正常   1:禁用   2:锁定

    //角色集合
    private List<Role> roles;

role表

Mybatis中resultMap的Colum和property怎么用

user表

Mybatis中resultMap的Colum和property怎么用

user与role的映射表

Mybatis中resultMap的Colum和property怎么用

resultMap对column和property的理解

首先,先看看这张图,看能不能一下看明白:

Mybatis中resultMap的Colum和property怎么用

select元素有很多属性(这里说用的比较多的)

什么时候我们知道使用resultMap,什么时候又使用resultType呢?

①当去select一张表时,可以使用resultType,这些情况下,MyBatis会在幕后自动创建一个ReusltMap,基于属性名来映射到JavaBean属性上

②所以在使用resultMap时,就必须要写上resultMap相对应的xml

③为了方便我们开发出错,在没有特别要求的情况下,column名可以完全和property名称一致,否则当我们没有对应上的时候,数据库匹配不到,会将某某参数值变为大写,导致我们本来获取小写的参数名,结果没有获取到,后台报错,得不偿失啊!

最后说下

sql中比如,有 andm.id = #{id ,jdbcType=VARCHAR } 要标明jdbcType为什么呢?

解释:

如果你映射了一个javabean,MyBatis通常可以断定类型(项目里好多都要写,我也不知道为啥),然而,如果你映射到的是比如:HashMap,那么应该明确指定的jdbcType来保证所需的行为

读到这里,这篇“Mybatis中resultMap的Colum和property怎么用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Mybatis中resultMap如何使用
  2. mybatis中resultMap 标签的使用教程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mybatis resultmap

上一篇:C++中怎么使用OpenCV制作哈哈镜图像效果

下一篇:Mybatis实现分包定义数据库的原理与过程是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》