解析mybatis-plus中的resultMap簡(jiǎn)單使用
不一致,那么用來(lái)接收查詢出來(lái)的result對(duì)應(yīng)的數(shù)據(jù)將會(huì)是Null,如果不使用resultMap,那么一般為了避免pojo對(duì)象對(duì)應(yīng)的屬性為Null,會(huì)采用SQL語(yǔ)句中的別名,將查詢出的數(shù)據(jù)庫(kù)中的字段as pojo對(duì)象屬性,而且,resultMap支持延遲加載

但是為了避免sql語(yǔ)句看著?臃腫,所以就使用了resultMap
? 簡(jiǎn)單使用
?1.? ? 選定你要進(jìn)行的resultMap映射的model,如下是我要進(jìn)行映射的model,model=======>Category.java【進(jìn)行resultMap的pojo類(lèi)】
package com.atguigu.gulimall.product.vo;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Category {
private Long catId;
private String name;
private Long parentCid;
private Integer catLevel;
private Integer status;
private Integer sort;
private String iconImage;
private String userName;
private String unit;
private Integer count;
private Integer isDelete;
}
? ? ? ? ? ? ?注意
? ? ? ? ? ? ? ? ? ?不要在你要映射成resultMap的pojo類(lèi)上加lombok的@Accessors(chain=true)的鏈?zhǔn)骄幊痰淖⒔?,因?yàn)閞esultMap中的屬性會(huì)報(bào)紅【但是仍可使用】,如下圖這樣
? ? ? ? ? ? ? ? ??
2.? ? ? ?在mapper.xml中編寫(xiě)resultMap,并在要使用的sql查詢語(yǔ)句里,指定result標(biāo)簽為resultMap和其名稱(chēng)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.gulimall.product.dao.CategoryDao">
<!-- 可根據(jù)自己的需求,是否要使用 -->
<resultMap type="com.atguigu.gulimall.product.vo.Category" id="categoryMap">
<result property="catId" column="cat_id"/>
<result property="name" column="name"/>
<result property="parentCid" column="parent_cid"/>
<result property="catLevel" column="cat_level"/>
<result property="status" column="show_status"/>
<result property="sort" column="sort"/>
<result property="iconImage" column="icon"/>
<result property="count" column="product_count"/>
</resultMap>
<!--直接在sql查詢返回的結(jié)果里指定resultMap-->
<select id="queryByCid" parameterType="int" resultMap="categoryMap">
select * from pms_category where cat_id = #{cId}
</select>
</mapper>
? ? ? ? ?resultMap中各標(biāo)簽代表含義
type: resultMap最終映射的java對(duì)象,可以使用別名【如果使用resultMap實(shí)際返回的對(duì)象類(lèi)型】 id: resultMap的唯一標(biāo)識(shí)【隨便起】 result: 對(duì)普通名映射定義 property: type指定的返回的pojo對(duì)象中的屬性名 寫(xiě)category里的屬性名 column: 數(shù)據(jù)庫(kù)中要查詢出的字段【列名】 寫(xiě)要映射的數(shù)據(jù)庫(kù)表里的字段名 property對(duì)應(yīng)column形成數(shù)據(jù)庫(kù)中字段和pojo屬性對(duì)應(yīng)關(guān)系
? ? ? ? ? 注意
? ? ? ? ? ? ? 如果此時(shí)resultMap在另外一個(gè)nameSpace里邊,即其他的mapper文件里,那么在跨mapper使用時(shí)resultMap注明命名空間
3.? 測(cè)試,直接運(yùn)行項(xiàng)目
? ? ? ? ? ? 如果在數(shù)據(jù)庫(kù)里查詢的字段個(gè)數(shù)少于或多于resultMap,那么依然能夠映射成功,就映射對(duì)應(yīng)的字段,因?yàn)槊Q(chēng)映射不上或者pojo里沒(méi)有的字段對(duì)應(yīng)的屬性,那么直接在返回的pojo?對(duì)象里返回null和沒(méi)有該字段
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
到此這篇關(guān)于mybaits-plus的resultMap簡(jiǎn)單使用的文章就介紹到這了,更多相關(guān)mybaits-plus resultMap使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot + mybatis + druid + 多數(shù)據(jù)源的問(wèn)題詳解
這篇文章主要介紹了springboot + mybatis + druid + 多數(shù)據(jù)源的問(wèn)題詳解,示例代碼文字相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作
這篇文章主要為大家詳細(xì)介紹了java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07
通過(guò)一個(gè)map替換字符串中指定的字符變量方法
下面小編就為大家?guī)?lái)一篇通過(guò)一個(gè)map替換字符串中指定的字符變量方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
Spring實(shí)現(xiàn)Aware接口自定義獲取bean的兩種方式
這篇文章主要介紹了Java編程實(shí)現(xiàn)Aware接口自定義獲取bean的兩種方式,通過(guò)BeanFactoryAware和ApplicationContextAware,具有一定參考價(jià)值,需要的朋友可以了解下。2017-09-09
Spring實(shí)戰(zhàn)之Bean銷(xiāo)毀之前的行為操作示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之Bean銷(xiāo)毀之前的行為操作,結(jié)合實(shí)例形式分析了spring在bean銷(xiāo)毀之前的行為相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下2019-11-11
使用postman傳遞list集合后臺(tái)springmvc接收
這篇文章主要介紹了使用postman傳遞list集合后臺(tái)springmvc接收的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java實(shí)現(xiàn)獲取客戶端真實(shí)IP方法小結(jié)
本文給大家匯總介紹了2種使用java實(shí)現(xiàn)獲取客戶端真實(shí)IP的方法,主要用于獲取使用了代理訪問(wèn)的來(lái)訪者的IP,有需要的小伙伴可以參考下。2016-03-03

