MyBatis 漢字作爲查詢條件查詢不到 MySQL 中的結果

在使用mybitis 查詢mysql數據庫的時候 用到了漢字作爲查詢條件,sql語句在navcat裏面可以查詢的到但是在項目裏確不行了

1. 以下是項目中的SQL 文件。

因爲where條件中傳輸進來的參數是漢字,所以在查詢的時候,加上 where 子句返回的結果就爲空。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.lin.dao.OperatingStatusDao">

    <!--查詢指標體系準則層元素,用於打分並計算權重 -->
    <select id="selectIndicator_level" resultType="com.lin.domain.Value">
        select Indicator_level as value from t_yxzt_indexsystem where criterion_level= #{selectName,jdbcType=VARCHAR}
    </select>
</mapper>

2. 控制檯輸出
在控制檯輸出,拼音、數字都的可以查到,漢字的查不到。初步判斷是字符的編碼問題。

3.修改 MySQL 的字符編碼形式

隱約記得在安裝 MySQL 的時候,沒有改變字符編碼,選擇了默認的latin1,這裏應該就是問題的出處

  • 找到 MySQL 的的安裝目錄
    默認安裝路徑爲:C:\Program Files\MySQL\MySQL Server 5.5,選擇 my.ini 文件這裏寫圖片描述

修改其中的兩個位置,將下圖中用紅圈圈出的地方改爲 utf8 即可
這裏寫圖片描述

4. 重啓 MySQL
用管理員方式啓動 cmd 窗口,執行如下語句:

  • 使用命令語句“net stop mysql” 停止 mysql 服務
  • 使用命令語句“net start mysql” 啓動 mysql 服務
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章