您好,登錄后才能下訂單哦!
這篇文章主要介紹了MyBatis+MyBatisPlus中遇到的坑怎么解決的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MyBatis+MyBatisPlus中遇到的坑怎么解決文章都會有所收獲,下面我們一起來看看吧。
MyBatis是很常用的持久層框架,MyBatisPlus是一個 MyBatis 的增強工具.在實際工作中這兩者就像是咖啡伴侶一樣如影隨形.
但是總會遇到這樣或那樣的問題,可能是一個失誤,也可能是踩了個坑
自己沒開啟分頁插件,是誰更坑呢?
@Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } }
這是個真坑,好多人踩過.之所以會錯誤,是因為MyBatisPlus的分頁是在SQL語句最后添加limit實現的,這就導致一對多關聯查詢出來的多條數據被記入了總條數參加了分頁.
想要解決,簡單粗暴的就是把關聯查詢分開,先查"一"的相關信息,然后遍歷再查"多"的相關信息.
作為一個認(閑)真(的)負(蛋)責(疼)的程序猿,肯定得用一些看上去高(沒)大(卵)上(用)的方式.
實體 @Data @ApiModel(value="產品對象") public class EcProduct{ @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty(value = "產品名稱") 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>
使用MyBatis-plus代碼生成器 出錯
1、使用myabtis-plus代碼自動生成器,啟動時出現下面這個錯誤
在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、代碼生成器啟動以后,發現已經自動創建了一些包和代碼
打開entiry包下的實體類User,發現顯示包不存在
在pom.xml配置文件中添加下面依賴
<!--配置ApiModel在實體類中不生效--> <dependency> <groupId>com.spring4all</groupId> <artifactId>spring-boot-starter-swagger</artifactId> <version>1.5.1.RELEASE</version> </dependency>
至此,使用MyBatis-plus代碼生成器 遇到的錯誤全部總結完畢。
關于“MyBatis+MyBatisPlus中遇到的坑怎么解決”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“MyBatis+MyBatisPlus中遇到的坑怎么解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。