亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mybatis的Select語句變量是大小寫不敏感的嗎?

Mybatis的Select語句變量是大小寫不敏感的嗎?

Helenr 2019-03-13 18:19:57
今天遇到一個狗血的問題使用springmvc+mybatis的時候如一個SELECT語句如此    <select id="list" parameterType="java.util.Map" resultMap="user">        SELECT        *        FROM        user        <trim prefix="where" prefixOverrides="AND">            <if test="username!=null">                username = #{username}            </if>                </trim>    </select>     數據庫為Mysql假如我要搜索的username為wanglaoju那么我搜wanglaoju,WANGLAOJU,Wanglaoju都可以出現相同的結果。Mybatis的搜索是大小寫不敏感的嗎?如果不是,那么我這個可能是什么原因?
查看完整描述

5 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

這個和Mybatis關系不大,說白了他到最后也是用JDBC驅動傳遞數據,和你手寫JDBC傳的SQL沒啥區別。

這個是看你的數據庫設置的,mysql默認是字段大小寫不敏感的,通過配置文件可以修改。


查看完整回答
反對 回復 2019-04-17
?
森欄

TA貢獻1810條經驗 獲得超5個贊

例如,一般查詢:

Sql代碼 收藏代碼
SELECT * FROM U WHERE name LIKE 'a%'; 
SELECT * FROM U WHERE name LIKE 'A%'; 
其結果是一樣的,為了區分'A%'和'a%',可以這么做:

Sql代碼 收藏代碼
SELECT * FROM U WHERE binary name LIKE 'a%'; 
SELECT * FROM U WHERE binary name LIKE 'A%'; 
僅僅多了一個binary,就可以得到不同的結果!

當然,如果需要建表時強制區分大小寫,可以這么寫:

Sql代碼 收藏代碼
create table table_name(

name varchar (20) binary

); 
就這么簡單!


查看完整回答
反對 回復 2019-04-17
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

mysql默認是不區分大小的


查看完整回答
反對 回復 2019-04-17
  • 0_DA米_0
    0_DA米_0
    linux環境是區分的, 需要在部署mysql的時候進行設置
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

mysql大小寫敏感和系統有關,推薦個庫,log4jdbc,來打印下執行的sql,直接復制到數據庫跑下看結果

<dependency>

    <groupId>com.googlecode.log4jdbc</groupId>

            <artifactId>log4jdbc</artifactId>

    <version>1.2</version>

</dependency>


查看完整回答
反對 回復 2019-04-17
  • 5 回答
  • 0 關注
  • 3739 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號