No.10 mybatis resultMap自定义使用和spring boot实现

本文介绍了如何在不改变原有SQL功能的前提下,利用Mybatis的resultMap特性,结合Spring Boot,创建一个包含距离(distance)计算的新实体。通过在mapper.xml中定义新的resultMap,实现了将计算出的经纬度距离加入到查询结果中。
摘要由CSDN通过智能技术生成

No.10 mybatis resultMap自定义使用和spring boot实现

项目需求:
计算经纬度之差,返回距离distance最近的N个记录,并带有计算到的距离。但是数据表中没有distance字段,也不允许改变原有的其他sql功能。
配置:
mybatis CodeGenerator。自动生成的结构
想法:
1. mybatis resultMap可以自定义想要返回的结构,但是其 Type参数必须填Model中一个实体。而本来的实体是没有distance字段(变量)的。所以在新实体上,需要加上distance。
2. 在mapper.xml上新加 resultMap,指向 带distance的实体。
3. 写的sql

新建带distance 的实体,Model

就是其他属性都一样,新增一个distance的属性

package com.company.project.model.distance;

import com.alibaba.fastjson.annotation.JSONField;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Table(name = "maintenance_info")
public class MaintenanceInfoDistance {
   
    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "distance")
    private Integer distance;

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值