【日常總結】mybatis-plus WHERE BINARY 中文查不出來

目錄

一、場景

二、問題

三、原因

四、解決方案

五、拓展(全表全字段修改字符集一鍵更改)

準備工作:做好整個庫備份

1. 全表一鍵修改

Stage 1:運行如下查詢

Stage 2:復制sql語句

Stage 3:執行即可

2. 全字段一鍵修改?

Stage 1:運行如下查詢

Stage 2:復制sql語句

Stage 3:執行即可

注意事項:


一、場景

  • mysql 5.7.28

  • mybatis-plus

  • spring boot 2.5.4

  • navicate 15

二、問題

????????英文查詢正常,中文查詢結果集為0

?

三、原因

? ? ? ? mybatis-plus 使用?WHERE BINARY查詢 ,字符集不統一(數據庫,表,字段),導致中文無法查詢出來

四、解決方案

  • 需要統一為:? utf8mb4

  • 排序為: utf8mb4_general_ci

# 說明,替換下面3個參數即可
# database_name :數據庫名
# table_name:表名
# column_name:字段名# 修改庫字符集ALTER DATABASE `database_name` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;# 修改表ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;# 修改表中字段ALTER TABLE `table_name` MODIFY COLUMN `column_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

  • 注意:如果修改字符集后,任然查不出來,需要將中文字符復制進去保存改條數據,再查詢驗證

五、拓展(全表全字段修改字符集一鍵更改)

準備工作做好整個庫備份

1. 全表一鍵修改

Stage 1:運行如下查詢
SELECTDISTINCTtable_schema,table_name,character_set_name,collation_name,CONCAT('ALTER TABLE ', table_schema, '.', table_name, ' CONVERT TO CHARACTER SET \'', character_set_name, '\' COLLATE \'', collation_name, '\';') '表原字符集SQL',CONCAT('ALTER TABLE ', table_schema, '.', table_name, ' CONVERT TO CHARACTER SET \'utf8mb4\' COLLATE \'utf8mb4_general_ci\';') '表需修改字符集SQL'
FROMinformation_schema.COLUMNS 
WHERE TABLE_SCHEMA NOT IN ('mysql','performance_schema','sys','information_schema','mysql_ha','mysql_db_monitor')AND COLLATION_NAME IS NOT NULL AND COLLATION_NAME != 'utf8mb4_general_ci';
Stage 2:復制sql語句

Stage 3:執行即可

2. 全字段一鍵修改?

Stage 1:運行如下查詢
SELECTTABLE_SCHEMA '數據庫',data_type '數據類型',TABLE_NAME '表',COLUMN_NAME '字段',CHARACTER_SET_NAME '原字符集',COLLATION_NAME '原排序規則',CONCAT('ALTER TABLE ',TABLE_SCHEMA, '.', TABLE_NAME,' MODIFY COLUMN ',COLUMN_NAME,' ',COLUMN_TYPE,' CHARACTER SET ', CHARACTER_SET_NAME, ' COLLATE ', COLLATION_NAME, ( CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END ),( CASE WHEN COLUMN_COMMENT = '' THEN ' ' ELSE concat( ' COMMENT''', COLUMN_COMMENT, '''' ) END ),';' ) '字段原字符集SQL',CONCAT('ALTER TABLE ',TABLE_SCHEMA, '.', TABLE_NAME,' MODIFY COLUMN ',COLUMN_NAME,' ',COLUMN_TYPE,' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci',( CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END ),( CASE WHEN COLUMN_COMMENT = '' THEN ' ' ELSE concat( ' COMMENT''', COLUMN_COMMENT, '''' ) END ),';' ) '字段需修正字符集SQL' 
FROM information_schema.`COLUMNS` WHERE 1=1
-- 	AND COLLATION_NAME != 'utf8mb4_general_ci'AND COLUMN_NAME != 'id'AND data_type not in('bigint','int','datetime','decimal','tinyint','double','float','json')	AND TABLE_SCHEMA NOT IN ('mysql','performance_schema','sys','information_schema','mysql_ha','mysql_db_monitor');
Stage 2:復制sql語句
Stage 3:執行即可

注意事項:

1. 有些字段是關鍵字,無法執行,報錯到該行注釋即可

2. 有點字段類型不能設置字符集,報錯到該行注釋即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/206744.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206744.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206744.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

100. 相同的樹(Java)

目錄 解法: 官方解法: 方法一:深度優先搜索 復雜度分析 時間復雜度: 空間復雜度: 方法二:廣度優先搜索 復雜度分析 時間復雜度: 空間復雜度: 給你兩棵二叉樹的根節點 p 和…

L1-028:判斷素數

題目描述 本題的目標很簡單,就是判斷一個給定的正整數是否素數。 輸入格式: 輸入在第一行給出一個正整數N(≤ 10),隨后N行,每行給出一個小于231的需要判斷的正整數。 輸出格式: 對每個需要判斷的…

Kotlin(十五) 高階函數詳解

高階函數的定義 高階函數和Lambda的關系是密不可分的。在之前的文章中,我們熟悉了Lambda編程的基礎知識,并且掌握了一些與集合相關的函數式API的用法,如map、filter函數等。另外,我們也了解了Kotlin的標準函數,如run、…

vuepress-----22、其他評論方案

vuepress 支持評論 本文講述 vuepress 站點如何集成評論系統,選型是 valineleancloud, 支持匿名評論,缺點是數據沒有存儲在自己手里。市面上也有其他的方案, 如 gitalk,vssue 等, 但需要用戶登錄 github 才能發表評論, 但 github 經常無法連接,導致體驗…

[wp]“古劍山”第一屆全國大學生網絡攻防大賽 Web部分wp

“古劍山”第一屆全國大學生網絡攻防大賽 群友說是原題杯 哈哈哈哈 我也不懂 我比賽打的少 Web Web | unse 源碼&#xff1a; <?phpinclude("./test.php");if(isset($_GET[fun])){if(justafun($_GET[fun])){include($_GET[fun]);}}else{unserialize($_GET[…

使用cmake構建的工程的編譯方法

1、克隆項目工程 2、進入到工程目錄 3、執行 mkdir build && cd build 4、執行 cmake .. 5、執行 make 執行以上步驟即可完成對cmake編寫的工程進行編譯 &#xff0c;后面只需執行你的編譯結果即可 $ git clone 你想要克隆的代碼路徑 $ cd 代碼文件夾 $ mkdir bu…

測試:SRE

SRE&#xff08;Site Reliability Engineering&#xff0c;站點可靠性工程&#xff09;是一種關注于構建、運行和維護大規模分布式系統的工程學科。它旨在確保系統在各種故障情況下仍然可用、可靠和高效。 SRE的核心目標是通過軟件工程的方法來解決系統可靠性問題&#xff0c;…

WPF DataGrid 里面的ToggleButton點擊不生效

已解決&#xff1a;根本原因是沒寫UpdateSourceTriggerPropertyChanged <ToggleButton IsChecked"{Binding PathIsEnabled,ModeTwoWay,UpdateSourceTriggerPropertyChanged}"/> 具體原因參考下面文章&#xff1a;鳴謝作者 WPF 數據集合綁定到DataGrid、ListV…

vmware安裝centos7總結

vmware安裝centos7總結 文章目錄 vmware安裝centos7總結一、配置網絡&#xff08;橋接模式&#xff09;二、配置yum源&#xff08;連網配置&#xff09;三、可視化界面四、安裝Docker五、安裝DockerUI 一、配置網絡&#xff08;橋接模式&#xff09; 網絡連接模式選擇橋接模式…

Ubuntu安裝nvidia GPU顯卡驅動教程

Ubuntu安裝nvidia顯卡驅動 1.安裝前安裝必要的依賴 sudo apt-get install build-essential sudo apt-get install g sudo apt-get install make2.到官網下載對應驅動 https://www.nvidia.cn/Download/index.aspx?langcn 3.卸載原有驅動 sudo apt-get remove --purge nvidi…

深度學習:注意力機制(Attention Mechanism)

1 注意力機制概述 1.1 定義 注意力機制&#xff08;Attention Mechanism&#xff09;是深度學習領域中的一種重要技術&#xff0c;特別是在序列模型如自然語言處理&#xff08;NLP&#xff09;和計算機視覺中。它使模型能夠聚焦于輸入數據的重要部分&#xff0c;從而提高整體…

孩子都能學會的FPGA:第二十五課——用FPGA實現頻率計

&#xff08;原創聲明&#xff1a;該文是作者的原創&#xff0c;面向對象是FPGA入門者&#xff0c;后續會有進階的高級教程。宗旨是讓每個想做FPGA的人輕松入門&#xff0c;作者不光讓大家知其然&#xff0c;還要讓大家知其所以然&#xff01;每個工程作者都搭建了全自動化的仿…

基于SpringBoot+maven+Mybatis+html慢性病報銷系統(源碼+數據庫)

一、項目簡介 本項目是一套基于SpringBootmavenMybatishtml慢性病報銷系統&#xff0c;主要針對計算機相關專業的正在做bishe的學生和需要項目實戰練習的Java學習者。 包含&#xff1a;項目源碼、數據庫腳本等&#xff0c;該項目可以直接作為bishe使用。 項目都經過嚴格調試&a…

二十一章(網絡通信)

計算機網絡實現了多臺計算機間的互聯&#xff0c;使得它們彼此之間能夠進行數據交流。網絡應用程序就是在已連接的不同計算機上運行的程序&#xff0c;這些程序借助于網絡協議&#xff0c;相互之間可以交換數據。編寫網絡應用程序前&#xff0c;首先必須明確所要使用的網絡協議…

C++_命名空間(namespace)

目錄 1、namespace的重要性 2、 namespace的定義及作用 2.1 作用域限定符 3、命名空間域與全局域的關系 4、命名空間的嵌套 5、展開命名空間的方法 5.1 特定展開 5.1 部分展開 5.2 全部展開 結語&#xff1a; 前言&#xff1a; C作為c語言的“升級版”&#xff0c;其在…

快速排序的新用法

普通快排 簡介 快速排序是一種高效的排序算法&#xff0c;利用分治的思想進行排序。它的基本原理是在待排序的n個數據中任取一個數據為分區標準&#xff0c;把所有小于該排序碼的數據移到左邊&#xff0c;把所有大于該排序碼的數據移到右邊&#xff0c;中間放所選記錄&#x…

Spring 之 @Cacheable 緩存使用教程

1、Cacheable 指定使用緩存 定義個 Controller &#xff0c;在方法上加上注解 Cacheable&#xff0c;配置要使用哪些緩存&#xff0c;比如 myMapCache 表示一級緩存是 Map&#xff0c;myRedisCache 表示二級緩存是 Redis。并配置緩存 key。 key 由 SPEL 表達式組成&#xff0c…

異常檢測 | MATLAB實現BiLSTM(雙向長短期記憶神經網絡)數據異常檢測

異常檢測 | MATLAB實現BiLSTM(雙向長短期記憶神經網絡)數據異常檢測 目錄 異常檢測 | MATLAB實現BiLSTM(雙向長短期記憶神經網絡)數據異常檢測效果一覽基本介紹模型準備模型設計參考資料效果一覽 基本介紹 訓練一個雙向 LSTM 自動編碼器來檢測機器是否正常工作。 自動編碼器接受…

CleanMyMac X2024最新版本軟件實用性測評

信大多數MAC用戶都較為了解&#xff0c;Mac雖然有著許多亮點的性能&#xff0c;但是讓用戶叫苦不迭的還其硬盤空間小的特色&#xff0c;至于很多人因為文件堆積以及軟件緩存等&#xff0c;造成系統空間內存不夠使用的情況。于是清理工具就成為了大多數MAC用戶使用頻率較高的實用…

二十一章網絡通信

計算機網絡實現了多臺計算機間的互聯&#xff0c;使得它們彼此之間能夠進行數據交流。網絡應用程序就是在已連接的不同計算機上運行的程序&#xff0c;這些程序借助于網絡協議&#xff0c;相互之間可以交換數據。編寫網絡應用程序前&#xff0c;首先必須明確所要使用的網絡協議…