欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)的,這就導(dǎo)致一對多關(guān)聯(lián)查詢出來的多條數(shù)據(jù)被記入了總條數(shù)參加了分頁.

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

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

實體

@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)文章

  • MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用詳解

    MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用詳解

    這篇文章主要介紹了MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Java 使用 HttpClient 發(fā)送 GET請求和 POST請求

    Java 使用 HttpClient 發(fā)送 GET請求和 POST請求

    本文主要介紹了Java 使用 HttpClient 發(fā)送 GET請求和 POST請求,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java.net.UnknownHostException異常的一般原因及解決步驟

    java.net.UnknownHostException異常的一般原因及解決步驟

    關(guān)于java.net.UnknownHostException大家也許都比較熟悉,這篇文章主要給大家介紹了關(guān)于java.net.UnknownHostException異常的一般原因及解決步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • JAVA文件掃描(遞歸)的實例代碼

    JAVA文件掃描(遞歸)的實例代碼

    這篇文章主要介紹了JAVA文件掃描(遞歸)的實例代碼 ,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Springcloud Config支持本地配置文件的方法示例

    Springcloud Config支持本地配置文件的方法示例

    這篇文章主要介紹了Springcloud Config支持本地配置文件的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 啟動 Eclipse 彈出 Failed to load the JNI shared library jvm.dll 錯誤的解決方法

    啟動 Eclipse 彈出 Failed to load the JNI shared library jvm.dll

    這篇文章主要介紹了有時候,新電腦上回碰到打開Eclipse時,彈出提示“Failed to load the JNI shared library jvm.dll”錯誤,這里給大家分享解決方案
    2016-08-08
  • Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴jar包)

    Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴jar包)

    這篇文章主要介紹了Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴jar包) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • SpringCloud Alibaba使用Seata處理分布式事務(wù)的技巧

    SpringCloud Alibaba使用Seata處理分布式事務(wù)的技巧

    在傳統(tǒng)的單體項目中,我們使用@Transactional注解就能實現(xiàn)基本的ACID事務(wù)了,隨著微服務(wù)架構(gòu)的引入,需要對數(shù)據(jù)庫進行分庫分表,每個服務(wù)擁有自己的數(shù)據(jù)庫,這樣傳統(tǒng)的事務(wù)就不起作用了,那么我們?nèi)绾伪WC多個服務(wù)中數(shù)據(jù)的一致性呢?跟隨小編一起通過本文了解下吧
    2021-06-06
  • springboot使用redis實現(xiàn)從配置到實戰(zhàn)

    springboot使用redis實現(xiàn)從配置到實戰(zhàn)

    本文主要介紹了springboot使用redis ,采用的是RedisTemplate的形式,還有一種采用spring支持的注解進行訪問緩存,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java中實現(xiàn)List分隔成子List詳解

    Java中實現(xiàn)List分隔成子List詳解

    大家好,本篇文章主要講的是Java中實現(xiàn)List分隔成子List詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論