最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis+MyBatisPlus中遇到的一些坑及解決

 更新時(shí)間:2023年03月30日 09:09:39   作者:星辰明夜  
這篇文章主要介紹了MyBatis+MyBatisPlus中遇到的一些坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MyBatis+MyBatisPlus中遇到的一些坑

MyBatis是很常用的持久層框架,MyBatisPlus是一個(gè) MyBatis 的增強(qiáng)工具.在實(shí)際工作中這兩者就像是咖啡伴侶一樣如影隨形.

但是總會(huì)遇到這樣或那樣的問題,可能是一個(gè)失誤,也可能是踩了個(gè)坑

坑一:MyBatisPlus分頁不生效

自己沒開啟分頁插件,是誰更坑呢?

?@Configuration
?public class WebMvcConfig extends WebMvcConfigurationSupport {
? ?@Bean
? ? public PaginationInterceptor paginationInterceptor() {
? ? ? ? return new PaginationInterceptor();
? ? }
?}

坑二:一對(duì)多關(guān)聯(lián)查詢查詢總條數(shù)錯(cuò)誤

這是個(gè)真坑,好多人踩過.之所以會(huì)錯(cuò)誤,是因?yàn)镸yBatisPlus的分頁是在SQL語句最后添加limit實(shí)現(xiàn)的,這就導(dǎo)致一對(duì)多關(guān)聯(lián)查詢出來的多條數(shù)據(jù)被記入了總條數(shù)參加了分頁.

想要解決,簡單粗暴的就是把關(guān)聯(lián)查詢分開,先查"一"的相關(guān)信息,然后遍歷再查"多"的相關(guān)信息.

作為一個(gè)認(rèn)(閑)真(的)負(fù)(蛋)責(zé)(疼)的程序猿,肯定得用一些看上去高(沒)大(卵)上(用)的方式.

實(shí)體

@Data
@ApiModel(value="產(chǎn)品對(duì)象")
public class EcProduct{

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "產(chǎn)品名稱")
    private String name;
    
    @ApiModelProperty(value = "添加時(shí)間")
    private Date createDate;

    @ApiModelProperty(value = "操作人ID")
    private Integer optUserId;
    //一對(duì)一
	private EcInsuranceCompany insuranceCompany;
	//一對(duì)多
	private List<EcProductDuty> dutys;
}


@Data
@ApiModel(value="公司對(duì)象")
public class EcInsuranceCompany{

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "公司名稱")
    private String name;
}

@Data
@ApiModel(value="信息對(duì)象")
public class EcProductDuty {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private String detail;
}

mapper.xml

   <resultMap id="productPlanRespone" type="XXX.EcProduct">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        .............
        <association property="insuranceCompany" javaType="XXX.EcInsuranceCompany">
            <id property="id" column="iid"/>
            ............
        </association>
        <collection property="dutys" column="id" select="XXXX.getProductDutyByPlanId">
        </collection>
    </resultMap>

       <select id="XXX" resultMap="productPlanRespone">
		</select>

mybatisplus遇到的問題

使用MyBatis-plus代碼生成器 出錯(cuò)

1、使用myabtis-plus代碼自動(dòng)生成器,啟動(dòng)時(shí)出現(xiàn)下面這個(gè)錯(cuò)誤

在pom.xml中添加下面依賴

? <dependency>
? ? ? ? ? ? <groupId>org.apache.velocity</groupId>
? ? ? ? ? ? <artifactId>velocity-engine-core</artifactId>
? ? ? ? ? ? <version>2.2</version>
? ? ? ? </dependency>
<dependency>
? ? ? ? ? ? <groupId>com.baomidou</groupId>
? ? ? ? ? ? <artifactId>mybatis-plus-generator</artifactId>
? ? ? ? ? ? <version>3.4.1</version>
? ? ? ? </dependency>

2、代碼生成器啟動(dòng)以后,發(fā)現(xiàn)已經(jīng)自動(dòng)創(chuàng)建了一些包和代碼

打開entiry包下的實(shí)體類User,發(fā)現(xiàn)顯示包不存在

在pom.xml配置文件中添加下面依賴

? ?<!--配置ApiModel在實(shí)體類中不生效-->
? ? <dependency>
? ? ? ? <groupId>com.spring4all</groupId>
? ? ? ? <artifactId>spring-boot-starter-swagger</artifactId>
? ? ? ? <version>1.5.1.RELEASE</version>
? ? </dependency>

至此,使用MyBatis-plus代碼生成器 遇到的錯(cuò)誤全部總結(jié)完畢。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問題解決

    MybatisPlus3.5.5與pagehelper?starter2.1.0沖突的問題解決

    在使用MybatisPlus?3.5.5與PageHelper?Starter?2.1.0時(shí),由于引用了不同版本的jsqlparser庫(4.6與4.7),會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,解決方案涉及確認(rèn)依賴版本,本文就來介紹一下,感興趣的同學(xué)可以下載學(xué)習(xí)
    2024-10-10
  • java傳入時(shí)間戳返回LocalDateTime的實(shí)現(xiàn)方法

    java傳入時(shí)間戳返回LocalDateTime的實(shí)現(xiàn)方法

    這篇文章主要介紹了java傳入時(shí)間戳返回LocalDateTime的實(shí)現(xiàn)方法,在Java中將時(shí)間戳轉(zhuǎn)換為LocalDateTime時(shí)需要注意時(shí)區(qū)問題,因?yàn)長ocalDateTime不包含時(shí)區(qū)信息,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • Java的List集合框架之LinkedList詳細(xì)解析

    Java的List集合框架之LinkedList詳細(xì)解析

    這篇文章主要介紹了Java的List集合框架之LinkedList詳細(xì)解析,LinkedList底層是內(nèi)部Node類的存儲(chǔ),prev、next、item值,同時(shí)最外層還有first、last節(jié)點(diǎn),需要的朋友可以參考下
    2023-11-11
  • 在Docker中部署Spring Boot項(xiàng)目過程詳解

    在Docker中部署Spring Boot項(xiàng)目過程詳解

    這篇文章主要介紹了在Docker中部署Spring Boot項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • springboot+camunda實(shí)現(xiàn)工作流的流程分析

    springboot+camunda實(shí)現(xiàn)工作流的流程分析

    Camunda是基于Java語言,支持BPMN標(biāo)準(zhǔn)的工作流和流程自動(dòng)化框架,并且還支持CMMN規(guī)范,DMN規(guī)范,本文給大家介紹springboot+camunda實(shí)現(xiàn)工作流的流程分析,感興趣的朋友一起看看吧
    2021-12-12
  • Java8中Optional類的使用說明

    Java8中Optional類的使用說明

    Optional類主要解決的問題是臭名昭著的空指針異常(NullPointerException),每個(gè)Java程序員都非常了解的異常,這篇文章主要給大家介紹了關(guān)于Java8中Optional類使用的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 使用Java實(shí)現(xiàn)Redis限流的方法

    使用Java實(shí)現(xiàn)Redis限流的方法

    限流的作用是防止某個(gè)段時(shí)間段內(nèi)的請(qǐng)求數(shù)過多,造成模塊因高并發(fā)而不可用。這篇文章給大家介紹使用Java實(shí)現(xiàn)Redis限流的相關(guān)知識(shí),一起看看吧
    2021-09-09
  • Spring的跨域的幾個(gè)方案

    Spring的跨域的幾個(gè)方案

    這篇文章主要介紹了Spring的跨域的幾個(gè)方案,CrossOrigin、addCorsMappings、CorsFIlter等方案,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-02-02
  • 淺談Java中類的實(shí)例化步驟

    淺談Java中類的實(shí)例化步驟

    今天小編就為大家分享一篇關(guān)于淺談Java中類的實(shí)例化步驟,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Java輸出Hello World完美過程解析

    Java輸出Hello World完美過程解析

    當(dāng)我們學(xué)習(xí)一門編程語言的時(shí)候,我們都會(huì)先學(xué)如何輸出Hello World!本文通過幾個(gè)例子給大家介紹輸出Hello World的代碼,感興趣的朋友一起看看吧
    2021-06-06

最新評(píng)論

汉阴县| 安陆市| 淮安市| 陵水| 辰溪县| 黄骅市| 兴海县| 黎平县| 镇赉县| 建阳市| 临泽县| 肇源县| 泰安市| 嘉黎县| 兰州市| 商水县| 古丈县| 扎赉特旗| 东山县| 禹城市| 县级市| 天门市| 荔浦县| 象州县| 门源| 日喀则市| 白银市| 兴业县| 山丹县| 绥宁县| 灌南县| 谷城县| 宁津县| 合山市| 独山县| 宿迁市| 扎囊县| 阳东县| 锡林浩特市| 靖江市| 华池县|