zoukankan      html  css  js  c++  java
  • 4.Mybatis的ResultMap

    一.ResultMap

    • 要解决的问题:属性名和字段名不一致

    1.案例:查询为null的问题

    数据库:

    实体类:

    结果:password='null'

    2.解决方案

    (1)方案一:为列名指定别名 , 别名和java实体类的属性名一致 . pwd as password 

    1 <!--根据ID查询用户-->
    2 <select id="getUserById" parameterType="int" resultType="User">
    3   select id,name,pwd as password from mybatis.user where id=#{id}
    4 </select>

    (2)方案二:使用结果集映射->ResultMap (推荐使用)

    • 添加一个resultMap标签,配置column为数据库中列名,property为实体类中属性名的对应关系,相同的可省略
    • 将resultType改为resultMap,并将值赋为UserMap
     1 <resultMap id="UserMap" type="User">
     2     <!-- column是数据库表的列名 , property是对应实体类的属性名 -->
     3     <!--<id column="id" property="id"/>-->
     4     <!--<result column="name" property="name"/>-->
     5     <result column="pwd" property="password"/>
     6 </resultMap>
     7 
     8 <!--根据ID查询用户-->
     9 <select id="getUserById" parameterType="int" resultMap="UserMap">
    10   select * from mybatis.user where id=#{id}
    11 </select>

    3.resultMap中还有大量的属性之后再研究

  • 相关阅读:
    Course Schedule II
    Vim笔记
    python programming
    暴风电视刷机教程
    python asyncio
    sqlalchemy lock and atomic
    rust学习(二)
    rust-vmm 学习(二)
    e3s10 网络管理
    打造VIM成为IDE - nerdtree
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/12297579.html
Copyright © 2011-2022 走看看