欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis 模糊查詢的實(shí)現(xiàn)方法

 更新時(shí)間:2017年10月30日 10:10:52   作者:CSDN_LQR  
這篇文章主要介紹了mybatis 模糊查詢的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下

mybatis 模糊查詢的實(shí)現(xiàn)方法

mybatis的逆向助手確實(shí)好用,可以省去很多編寫(xiě)常規(guī)sql語(yǔ)句的時(shí)間,但是它沒(méi)辦法自動(dòng)生成模糊查詢語(yǔ)句,但開(kāi)發(fā)中模糊查詢是必不可少的,所以,需要手動(dòng)對(duì)mapper編寫(xiě)模糊查詢功能。

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

1. #將傳入的數(shù)據(jù)都當(dāng)成一個(gè)字符串,會(huì)對(duì)自動(dòng)傳入的數(shù)據(jù)加一個(gè)雙引號(hào)。如:order by #user_id#,如果傳入的值是111,那么解析成sql時(shí)的值為order by “111”, 如果傳入的值是id,則解析成的sql為order by “id”.

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

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

4. $方式無(wú)法防止Sql注入。

5. $方式一般用于傳入數(shù)據(jù)庫(kù)對(duì)象,例如傳入表名.

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

ps:在使用mybatis中還遇到<![CDATA[]]>的用法,在該符號(hào)內(nèi)的語(yǔ)句,將不會(huì)被當(dāng)成字符串來(lái)處理,而是直接當(dāng)成sql語(yǔ)句,比如要執(zhí)行一個(gè)存儲(chǔ)過(guò)程。

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

1、對(duì)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、對(duì)UserMapper.java編碼

List<User> queryUserByKey(String key);

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

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 詳解MySQL中的分組查詢與連接查詢語(yǔ)句

    詳解MySQL中的分組查詢與連接查詢語(yǔ)句

    這篇文章主要介紹了MySQL中的分組查詢與連接查詢語(yǔ)句,同時(shí)還介紹了一些統(tǒng)計(jì)函數(shù)的用法,需要的朋友可以參考下
    2016-03-03
  • mysql常用函數(shù)之group_concat()、group by、count()、case when then的使用

    mysql常用函數(shù)之group_concat()、group by、count()、case whe

    本文主要介紹了mysql常用函數(shù)之group_concat()、group by、count()、case when then的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • mysql死鎖和分庫(kù)分表問(wèn)題詳解

    mysql死鎖和分庫(kù)分表問(wèn)題詳解

    這篇文章主要給大家介紹了關(guān)于mysql死鎖和分庫(kù)分表問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 虛擬主機(jī)中phpMyAdmin的安裝配置方法

    虛擬主機(jī)中phpMyAdmin的安裝配置方法

    phpMyAdmin 是一套可以通過(guò)WEB來(lái)管理 MySQL-server 以及單一數(shù)據(jù)庫(kù)的 PHP 程序。對(duì)于一些虛擬空間的站點(diǎn)來(lái)說(shuō),應(yīng)該是不可缺少的吧!!!
    2010-06-06
  • MySQL截取和拆分字符串函數(shù)用法示例

    MySQL截取和拆分字符串函數(shù)用法示例

    這篇文章主要介紹了MySQL截取和拆分字符串函數(shù)用法,結(jié)合實(shí)例形式分析了mysql針對(duì)字符串的截取與拆分函數(shù)SUBSTRING及SUBSTRING_INDEX相關(guān)使用方法,需要的朋友可以參考下
    2016-09-09
  • MySQL中json_extract函數(shù)說(shuō)明及使用方式

    MySQL中json_extract函數(shù)說(shuō)明及使用方式

    今天看mysql中的json數(shù)據(jù)類型,涉及到一些使用,使用到了函數(shù)json_extract來(lái),下面這篇文章主要給大家介紹了關(guān)于MySQL中json_extract函數(shù)說(shuō)明及使用方式的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Mysql中order by、group by、having的區(qū)別深入分析

    Mysql中order by、group by、having的區(qū)別深入分析

    本篇文章是對(duì)Mysql中order by、group by、having的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL對(duì)數(shù)據(jù)庫(kù)和表進(jìn)行DDL命令的操作代碼

    MySQL對(duì)數(shù)據(jù)庫(kù)和表進(jìn)行DDL命令的操作代碼

    DDL(Data?Definition?Language),是數(shù)據(jù)定義語(yǔ)言的縮寫(xiě),它是SQL(Structured?Query?Language)語(yǔ)言的一個(gè)子集,用于定義或修改數(shù)據(jù)庫(kù)的結(jié)構(gòu),本文給大家介紹了MySQL對(duì)數(shù)據(jù)庫(kù)和表進(jìn)行DDL命令的操作,需要的朋友可以參考下
    2024-07-07
  • 在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法

    在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法

    這篇文章主要介紹了在Ubuntu或Debian系統(tǒng)的服務(wù)器上卸載MySQL的方法,適用于Debian系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • MySQL5.6主從復(fù)制(mysql數(shù)據(jù)同步配置)

    MySQL5.6主從復(fù)制(mysql數(shù)據(jù)同步配置)

    這篇文章主要介紹了MySQL5.6主從復(fù)制也就是mysql數(shù)據(jù)同步配置方法,需要的朋友可以參考下
    2016-11-11

最新評(píng)論