zoukankan      html  css  js  c++  java
  • mybatis框架的连表查询one2one

    mybatis 的连表查询one2one

    1.可以通过主从表之间的关联查询通过主键两次

    在resultMap映射中的association标签<association property="info" column="user_id"
       javaType="UserInfo"

    再通过select属性得到从表对应映射的mapper的getUserInfoByUserId方法
       select="com.gezhi.mapper.UserInfoMapper.getUserInfoByUserId">
      </association>

    从表的mapper

    <sql id="userInfoSql">
      info_id,info_nickname,info_phone,info_email,info_gender,info_address
     </sql>
     
     <select id="getUserInfoByUserId" resultMap="userInfoMap"
      parameterType="int">
      select
      <include refid="userInfoSql"></include>
      from user_info where user_id=#{id}
     </select>

    2.通过left join 连表查询一次

    去掉select属性,添加从表的result Map

    <association property="info" column="user_id"
       javaType="UserInfo"
       resultMap="com.gezhi.mapper.UserInfoMapper.userInfoMap">
      </association>

    从表中的mapper

     <!-- 联合查询users表中的信息,双向关联 -->
     <resultMap type="UserInfo" id="userInfoMap">
      <id property="infoId" column="info_id" javaType="integer" />
      <result property="nickName" column="info_nickname"
       javaType="java.lang.String" />
      <result property="phone" column="info_phone"
       javaType="java.lang.String" />
      <result property="Email" column="info_email" javaType="string" />
      <result property="gender" column="info_gender"
       javaType="string" />
      <result property="address" column="info_address"
       javaType="java.lang.String" />
      <association property="user" column="user_id"
       javaType="User" resultMap="com.gezhi.mapper.UserMapper.userResultMap">
      </association>
     </resultMap>

  • 相关阅读:
    Hive_进阶
    日志分析_统计每日各时段的的PV,UV
    Sqoop_mysql,hive,hdfs导入导出操作
    Sqoop_ 简单介绍
    Sqoop_ 从 hive 导到mysql常遇九问题总结(转)
    MySql_设置编码
    Linux_MySql_yum_安装
    Hive_DDL与DML
    UI自动化持续化集成
    HDU 5073 数学题
  • 原文地址:https://www.cnblogs.com/IT-xiaoliang/p/11126828.html
Copyright © 2011-2022 走看看