最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

SpringBoot項(xiàng)目:net.sf.jsqlparser.parser.ParseException: Encountere

2022-05-10 14:07 作者:zysicyj  | 我要投稿

原文地址[1]

寫在前面

最近開發(fā)過程中,在where條件中使用IF函數(shù),在MySQL數(shù)據(jù)庫中,使用Navicat運(yùn)行沒有問題,但是運(yùn)行項(xiàng)目的時(shí)候,死活過不去,一直報(bào)錯(cuò),后來一番折騰找到了解決方案,所以,以防后續(xù)再出現(xiàn)類似問題,僅做記錄!

說明:項(xiàng)目為SpringBoot項(xiàng)目,持久化層框架使用的是Mybatis-plus(版本為3.0.7)

1.問題復(fù)現(xiàn)

1.1 SQL語句執(zhí)行結(jié)果

image-1651200802277

1.2 Mapper層對應(yīng)接口

image-1651200835653

1.3 Mabyties對應(yīng)xml

image-1651200870739

1.4 報(bào)錯(cuò)信息

image-1651200882034

2. 問題原因

  針對這個(gè)問題,在網(wǎng)上查了相關(guān)文檔,Mybatis-plus官網(wǎng)說是框架中使用到了多租戶功能,Mybatis-plus 會(huì) 進(jìn)行數(shù)據(jù)權(quán)限的過濾,但是有些接口,其實(shí)并不想被多租戶過濾,所以要對該條sql,進(jìn)行租戶放行。關(guān)于這塊Mybatis-plus官網(wǎng)說明了 SqlParserFilter sql 解析過濾器,當(dāng)然對這部分感興趣的小伙伴們,可以去Mybatis-plus官網(wǎng)查看相關(guān)源碼,我這里就不在具體說明了。

說明:多租戶:多個(gè)用戶間使用同一套程序,但每個(gè)用戶之間實(shí)現(xiàn)數(shù)據(jù)隔離

3.問題解決

參考Mybatis-plus官網(wǎng),在Mapper層接口方法上 加入注解

@SqlParser(filter=true)官網(wǎng)截圖如下

image-1651200986228

加完注解之后的Mapper層接口方法如下:

@SqlParser(filter?=?true)
List<EmpWhiteList>?getAdminList(@Param("empId")?String?empId,?@Param("timeDate")?String?timeDate);

加完此注解之后,由于項(xiàng)目的Mybatis-plus版本為3.0.7,所以這里還要再在application.yml文件中添加下列配置才能生效

說明:如果Mybatis-plus版本是3.1.1至3.4.0以下版本可以直接 添加此注解 即可,3.1.1以下版本需要添加如下配置:

mybatis-plus3.4.0及以上版本注意: @SqlParser(filter = true) 在mybatis-plus最新版本3.4.0及以上版本中被標(biāo)記為已過時(shí),具體替代方案,官網(wǎng)已給出

關(guān)于此注解官網(wǎng)給出如下使用方法:

image-1651201152108

鑒于此,如果項(xiàng)目引入的MybatisPlus版本為3.4.0及以上,則多租戶屏蔽某個(gè)特定mapper接口的方法,則使用如下解決方案:

引用鏈接

[1]?原文地址:?https://www.cnblogs.com/cndarren/p/13218290.html


SpringBoot項(xiàng)目:net.sf.jsqlparser.parser.ParseException: Encountere的評論 (共 條)

分享到微博請遵守國家法律
金平| 烟台市| 北碚区| 齐齐哈尔市| 冕宁县| 北流市| 会昌县| 绵竹市| 龙胜| 兰州市| 吕梁市| 安宁市| 巴东县| 保德县| 清原| 宜良县| 呈贡县| 师宗县| 铁岭县| 尼木县| 台北市| 渑池县| 久治县| 右玉县| 桦川县| 项城市| 恩施市| 尚志市| 濮阳市| 襄城县| 农安县| 商都县| 喀喇沁旗| 勃利县| 鄂托克旗| 凌海市| 莲花县| 嘉定区| 九龙县| 天台县| 杂多县|