麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

mybatis 模糊查詢的實現方法

2024-07-24 13:14:54
字體:
來源:轉載
供稿:網友

mybatis 模糊查詢的實現方法

mybatis的逆向助手確實好用,可以省去很多編寫常規sql語句的時間,但是它沒辦法自動生成模糊查詢語句,但開發中模糊查詢是必不可少的,所以,需要手動對mapper編寫模糊查詢功能。

這里先明確MyBatis/Ibatis中#和$的區別:

1. #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那么解析成sql時的值為order by “111”, 如果傳入的值是id,則解析成的sql為order by “id”.

2. $將傳入的數據直接顯示生成在sql中。如:order by $user_id$,如果傳入的值是111,那么解析成sql時的值為order by user_id, 如果傳入的值是id,則解析成的sql為order by id.

3. #方式能夠很大程度防止sql注入。

4. $方式無法防止Sql注入。

5. $方式一般用于傳入數據庫對象,例如傳入表名.

6. 一般能用#的就別用$.

ps:在使用mybatis中還遇到<![CDATA[]]>的用法,在該符號內的語句,將不會被當成字符串來處理,而是直接當成sql語句,比如要執行一個存儲過程。

我們的需求是對一個User進行模糊查詢,思路是對所有基本字段(username,gender等)都跟傳入的key(關鍵字)進行比較。

1、對UserMapper.xml編碼

 <select id="queryUserByKey" parameterType="string"    resultType="com.lqr.pojo.User">    select * from user where uid like CONCAT('%',#{key},'%')    or username like CONCAT('%',#{key},'%')    or realname like CONCAT('%',#{key},'%')    or identification like CONCAT('%',#{key},'%')    or email like CONCAT('%',#{key},'%')  </select>

2、對UserMapper.java編碼

List<User> queryUserByKey(String key);

以上是本人在開發中遇到的情景,往后有其他mybatis模糊查詢的使用再繼續記錄。

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产九色视频在线观看 | 九九热在线视频观看 | 精品国产91久久久 | 国产呻吟| 国产九色在线观看 | 午夜色视频在线观看 | 久草在线视频网 | 久久久久久久久91 | 欧美日韩国产一区二区三区在线观看 | 欧美日韩国产成人在线 | 欧美一级免费视频 | 色综合777| 国产午夜精品久久久久婷 | 亚洲欧美aⅴ | 精品亚洲网站 | 国产在线欧美日韩 | 深夜视频福利 | 午夜视频久久久 | 久久精品99国产国产精 | 亚洲国产成人一区 | 成年免费视频黄网站在线观看 | 久久tv免费国产高清 | free japan xxxxhdsex69 | 国产精品一二区 | 欧美一级做a | 全黄性性激高免费视频 | arabxxxxvideos| 亚洲成人精品一区二区 | 大胆在线日本aⅴ免费视频 美国黄色毛片女人性生活片 | 在线成人看片 | 成年性羞羞视频免费观看 | 久久久久久久91 | 久久国产综合精品 | 精品视频在线免费看 | 亚洲一区二区成人 | 一本色道久久综合亚洲精品小说 | 国产一区二区三区在线观看视频 | 免费一级肉体全黄毛片 | 免费看真人a一级毛片 | 久久久久国产成人精品亚洲午夜 | 午夜视频亚洲 |