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

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

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

MyBatis+MyBatisPlus中遇到的一些坑

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

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

坑一:MyBatisPlus分頁不生效

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

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

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

這是個真坑,好多人踩過.之所以會錯誤,是因為MyBatisPlus的分頁是在SQL語句最后添加limit實現(xiàn)的,這就導致一對多關(guān)聯(lián)查詢出來的多條數(shù)據(jù)被記入了總條數(shù)參加了分頁.

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

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

實體

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

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

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

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


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

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

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

@Data
@ApiModel(value="信息對象")
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代碼生成器 出錯

1、使用myabtis-plus代碼自動生成器,啟動時出現(xiàn)下面這個錯誤

在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、代碼生成器啟動以后,發(fā)現(xiàn)已經(jīng)自動創(chuàng)建了一些包和代碼

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

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

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

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

總結(jié)

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

相關(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時,由于引用了不同版本的jsqlparser庫(4.6與4.7),會導致運行時錯誤,解決方案涉及確認依賴版本,本文就來介紹一下,感興趣的同學可以下載學習
    2024-10-10
  • java傳入時間戳返回LocalDateTime的實現(xiàn)方法

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

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

    Java的List集合框架之LinkedList詳細解析

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

    在Docker中部署Spring Boot項目過程詳解

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

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

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

    Java8中Optional類的使用說明

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

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

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

    Spring的跨域的幾個方案

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

    淺談Java中類的實例化步驟

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

    Java輸出Hello World完美過程解析

    當我們學習一門編程語言的時候,我們都會先學如何輸出Hello World!本文通過幾個例子給大家介紹輸出Hello World的代碼,感興趣的朋友一起看看吧
    2021-06-06

最新評論

峨边| 临城县| 涿州市| 武汉市| 康平县| 罗山县| 仲巴县| 大姚县| 湟源县| 迁西县| 寿阳县| 二连浩特市| 江达县| 无棣县| 绥阳县| 仁怀市| 汕尾市| 沁阳市| 昌乐县| 望都县| 醴陵市| 崇州市| 丹东市| 镇安县| 翁牛特旗| 毕节市| 双辽市| 宜宾市| 万全县| 莱芜市| 临汾市| 南部县| 盘锦市| 宁化县| 瑞丽市| 壶关县| 保康县| 滦平县| 南和县| 安溪县| 竹溪县|