鍍金池/ 問答/Java  數(shù)據(jù)庫/ 關(guān)于Mybatis查詢時能否自定義字段

關(guān)于Mybatis查詢時能否自定義字段

開發(fā)中經(jīng)常會遇到 根據(jù) xxx 字段查詢 xxx 字段,如果查詢一個就要寫一個 mapper就會顯得很繁瑣。
而在php中,我就可以輕松開愉快的把下面三個字段未知的參數(shù),變成兩個變量傳進(jìn)去。

SELECT filed ? WHRER xxx = xxx。

但是,我在使用Mybatis 的時候,就會出現(xiàn),比如,filed 字段傳進(jìn)去的是一個 String,而最后生成的sql語句也會變成。。 這顯然是一個不正確的sql。

SELECT "username" WHRER xxx = xxx。

所以,請問 Java 大佬們,有類似問題的解決辦法嗎

回答
編輯回答
替身

SELECT filed ? WHRER xxx = #{xxx,jdbcType=VARCHAR}
這樣就行了, 用#可以防止SQL注入,如果用#報錯可以 改為使用$ 即 ${xxx,jdbcType=VARCHAR}
詳細(xì)功能可以自己查一下。

2018年1月6日 09:37
編輯回答
刮刮樂

是不是需要動態(tài)傳入字段名稱?
參數(shù)使用 ${xxx} 不要用 #{xxx}

2018年1月12日 06:03
編輯回答
厭惡我

有是有,使用${xxx},容易引發(fā)sql注入

2017年1月28日 00:15
編輯回答
澐染

除了blob字段,有必要單獨搞出來嗎?或者搞出來了不做resultMap影射就好了

2018年8月3日 05:38