首页 > 其他分享 >Mybatis结果集映射

Mybatis结果集映射

时间:2023-02-13 21:13:18浏览次数:33  
标签:映射 结果 column pojo Mybatis property id select

ResultMap结果集映射

多对一

  • 按照查询嵌套处理:需要两个查询,被嵌套的<association>需要column以及select属性

  • 按照结果嵌套处理:不需要column以及select属性

对于数据库的字段和pojo里面的字段一致时,不需要在繁琐的配置,只需要配置不一样的字段即可

 <resultMap id="Orders" type="com.ahrtolia.entity.Order">
        <id property="id" column="oId"></id>
        <result property="count" column="ocount"></result>
        <association property="product" javaType="com.ahrtolia.entity.Product">
            <result property="name" column="name"></result>
            <result property="fileName" column="fileName"></result>
            <result property="price" column="price"></result>
        </association>
    </resultMap>
    <select id="getMyProductCar" resultMap="Orders">
        select o.id as oId,o.count as ocount,p.name as name,p.fileName as fileName,p.price as price
        from orders as o,product as p
        where o.userId= #{userId} and o.productId = p.id  and state = 0;
    </select>

<resultMap>

  • id的值对应resultMap的值
  • type为返回的类型

<result>和<id>都可以用

  • property(pojo类的字段)映射为column(数据库的列名)

<collection>

  • property
  • ofType表示集合里面的泛型类型

<association>用于处理对象

  • property属性为当前pojo类里面的引用对象的类型
  • column为property对应的字段(这里把对象看成普通列就好理解了)
  • javaType为引用对象对应的pojo类
  • select为当前resultMap对应的select查询的id

 一对多差别不大

标签:映射,结果,column,pojo,Mybatis,property,id,select
From: https://www.cnblogs.com/happy12123/p/17117799.html

相关文章

  • Mybatis06 - 获取参数的两种方式 #{} ${}
    数据输入实际使用时仅需考虑两种情况:实体类型:接口传参是实体类,则在SQL语句中直接使用类的属性#{属性1},#{属性2}...非实体类型:在接口传参时使用@Param("key")value......
  • Mybatis07 - SQL语句的返回结果
    数据输出数据输出总体上有两种形式:增删改操作返回的受影响行数:直接使用int或long类型接收即可查询操作的查询结果1、返回单个简单类型数据①Mapper接口中的抽象......
  • Mybatis08 - 特殊SQL
    模糊查询,不确定结果数量使用List<实体类>publicinterfaceSpecialSQLMapper{//通过用户名模糊查询用户信息List<User>getUserByLike(@Param("mohu")Stri......
  • 利用反射和代理简单模拟mybatis实现简单的CRUD
    利用反射接口做java数据库操作今天突发奇想,好像一些基本的CRUD操作路数都是一样的,又想到mybatis中的操作,便想着简单的模拟一下。随便写写,就当练习反射了。Dao接口类:这......
  • mongodb中ObjectId查询的结果一直变的问题
    二者本来应该是相同的值,但是每次查询都在变化,@Id@ApiModelProperty(value="主键")@Field(value="_id")var_id:ObjectId?=null@NotEmpty(groups=[AddGroup::......
  • springboot开发日记(12)——请求映射原理
    请求映射原理由于springboot底层使用的是springMVC,所以研究请求映射原理我们需要从DispatcherServlet入手,搜索DispatcherServlet这个包,我们可以发现他是一个继承类,打开继......
  • MyBatisPlus常用注解
    MyBatisPlus常用注解@TableName:自定义表名给User实体类添加注解aplication.yml中添加mp的配置#配置mp的日志mybatis-plus:configuration:log-impl:org.apache.ibati......
  • Mybatis缓存
    什么是MyBatis中的缓存MyBatis中的缓存就是说MyBatis在执行一次SQL查询或者SQL更新之后,这条SQL语句并不会消失,而是被MyBatis缓存起来,当再次执行相同SQL语句的时候,就会......
  • mybatis基于注解的多对多关联操作
    文章目录​​一、前言​​​​二、实体类:​​​​1、角色类RoleInfo​​​​2、权限类:ModuleInfo​​​​3、中间表ModuleRole​​​​三、多对多操作​​​​1、向中间表......
  • jquery.validate清除表单的验证结果
    文章目录​​发现bug:​​​​分析bug:​​​​解决bug:​​发现bug:jquery.validate无法清除同表单的上次验证结果,如下:分析bug:查阅官方文档之后,观察validate的返回类型,可以发......