zoukankan      html  css  js  c++  java
  • MyBatis中resultType和resultMap

    区别:resultType和resultMap功能类似  ,都是返回对象信息  ,但是resultMap要更强大一些 ,可自定义。因为resultMap要配置一下,表和类的一一对应关系,就算你的字段名和你的实体类的属性名不一样也没关系。

    1.resultType:直接表示返回类型

    2.resultMap:对外部的resultMap的引用

    3.两者不能同时存在

    例子:

    单表查询: resultMap:当使用resultMap做SQL语句返回结果类型处理时,通常需要在mapper.xml中定义resultMap进行pojo和相应表字段的对应。

    <resultMap id="userResultMap" type="com.nxj.demo.database.UserBean">
        <result column="username" property="username" jdbcType="VARCHAR"/>
        <result column="password" property="password" jdbcType="VARCHAR"/>
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="role" property="role" jdbcType="VARCHAR"/>
    </resultMap>

    关联查询(一对一):resultMap对于一对一表连接的处理方式通常为在主表的pojo中添加嵌套另一个表的pojo,然后在mapper.xml中采用association节点元素进行对另一个表的连接处理。例如

    <resultMap id="userResultMap" type="com.nxj.demo.entity.view.UserVO">
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="address" property="address" jdbcType="VARCHAR"/>
        <result column="age" property="age" jdbcType="INTEGER"/>
        <result column="sex" property="sex" jdbcType="VARCHAR"/>
        <!-- javaType为引用的实体类 -->
        <association property="userAccountVO"  javaType="com.nxj.demo.entity.view.UserAccountVO">
            <result column="id" property="userId" jdbcType="INTEGER"/>
            <result column="money" property="money" jdbcType="DOUBLE"/>
            <result column="name" property="name" jdbcType="VARCHAR"/>
        </association>
    </resultMap>

    关联查询(一对多):resultMap的处理方式为在订单表数据的pojo中添加一个list,list中为订单明细表的属性,在mapper.xml中采用如下的处理方式:

    <resultMap id="userOrderResultMap" type="com.nxj.demo.entity.view.UserOrderVO">
        <result column="name" property="name" jdbcType="VARCHAR"/>
        <result column="id" property="userId" jdbcType="INTEGER"/>
        <collection property="list" ofType="com.nxj.demo.entity.data.UserOrderDO">
            <id column="orderId" property="orderId"/>
            <result column="order_num" property="orderNum"/>
            <result column="id" property="userId" jdbcType="INTEGER"/>
        </collection>
    </resultMap>
  • 相关阅读:
    hadoop集群的搭建
    EclipseAndroid打包签名发布安装失败闪退运行不了
    [目录]C#学习笔记
    [目录]搭建一个简单的WebGIS应用程序
    实现DataTables搜索框查询结果高亮显示
    解决将Excel表导入到SQL Server数据库时出现Text was truncated or one or more characters had no match in the target code错误
    将展示内容(div、iframe)放在Expand控件中
    [C#学习笔记1]用csc.exe和记事本写一个C#应用程序
    选中FeatureLayer元素并高亮显示
    在地图中调用显示FeatureLayer并进行render、popupTemplate、添加图例等相关内容的设置
  • 原文地址:https://www.cnblogs.com/nxjblog/p/13040019.html
Copyright © 2011-2022 走看看