解析mybatis-plus中的resultMap簡(jiǎn)單使用
不一致,那么用來接收查詢出來的result對(duì)應(yīng)的數(shù)據(jù)將會(huì)是Null,如果不使用resultMap,那么一般為了避免pojo對(duì)象對(duì)應(yīng)的屬性為Null,會(huì)采用SQL語句中的別名,將查詢出的數(shù)據(jù)庫中的字段as pojo對(duì)象屬性,而且,resultMap支持延遲加載
但是為了避免sql語句看著?臃腫,所以就使用了resultMap
? 簡(jiǎn)單使用
?1.? ? 選定你要進(jìn)行的resultMap映射的model,如下是我要進(jìn)行映射的model,model=======>Category.java【進(jìn)行resultMap的pojo類】
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類上加lombok的@Accessors(chain=true)的鏈?zhǔn)骄幊痰淖⒔猓驗(yàn)閞esultMap中的屬性會(huì)報(bào)紅【但是仍可使用】,如下圖這樣
? ? ? ? ? ? ? ? ??
2.? ? ? ?在mapper.xml中編寫resultMap,并在要使用的sql查詢語句里,指定result標(biāo)簽為resultMap和其名稱
<?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ì)象類型】 id: resultMap的唯一標(biāo)識(shí)【隨便起】 result: 對(duì)普通名映射定義 property: type指定的返回的pojo對(duì)象中的屬性名 寫category里的屬性名 column: 數(shù)據(jù)庫中要查詢出的字段【列名】 寫要映射的數(shù)據(jù)庫表里的字段名 property對(duì)應(yīng)column形成數(shù)據(jù)庫中字段和pojo屬性對(duì)應(yīng)關(guān)系
? ? ? ? ? 注意
? ? ? ? ? ? ? 如果此時(shí)resultMap在另外一個(gè)nameSpace里邊,即其他的mapper文件里,那么在跨mapper使用時(shí)resultMap注明命名空間
3.? 測(cè)試,直接運(yùn)行項(xiàng)目
? ? ? ? ? ? 如果在數(shù)據(jù)庫里查詢的字段個(gè)數(shù)少于或多于resultMap,那么依然能夠映射成功,就映射對(duì)應(yīng)的字段,因?yàn)槊Q映射不上或者pojo里沒有的字段對(duì)應(yīng)的屬性,那么直接在返回的pojo?對(duì)象里返回null和沒有該字段
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
到此這篇關(guān)于mybaits-plus的resultMap簡(jiǎn)單使用的文章就介紹到這了,更多相關(guān)mybaits-plus resultMap使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用SpringBoot+Prometheus+Grafana實(shí)現(xiàn)可視化監(jiān)控
本文主要給大家介紹了如何使用Spring?actuator+監(jiān)控組件prometheus+數(shù)據(jù)可視化組件grafana來實(shí)現(xiàn)對(duì)Spring?Boot應(yīng)用的可視化監(jiān)控,文中有詳細(xì)的代碼供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下2024-02-02Java?POI導(dǎo)出Excel時(shí)合并單元格沒有邊框的問題解決
這篇文章主要給大家介紹了關(guān)于Java?POI導(dǎo)出Excel時(shí)合并單元格沒有邊框的問題解決辦法,文中通過代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-07-07JAVA集成Freemarker生成靜態(tài)html過程解析
這篇文章主要介紹了JAVA集成Freemarker生成靜態(tài)html過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06詳解用Kotlin寫一個(gè)基于Spring Boot的RESTful服務(wù)
這篇文章主要介紹了詳解用Kotlin寫一個(gè)基于Spring Boot的RESTful服務(wù) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Java并發(fā)應(yīng)用之任務(wù)執(zhí)行分析
這篇文章主要為大家詳細(xì)介紹了JavaJava并發(fā)應(yīng)用編程中任務(wù)執(zhí)行分析的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-07-07Java實(shí)現(xiàn)發(fā)送郵件并攜帶附件
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)發(fā)送郵件并攜帶附件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Java內(nèi)存模型(JMM)及happens-before原理
這篇文章主要介紹了java內(nèi)存模型(JMM)及happens-before原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04