日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Mybatis之#{}與${}的區別使用詳解

瀏覽:154日期:2023-10-23 18:51:43

1.兩種取值方式的差異

mapper.xml映射文件

<select resultMap='empResultMap' databaseId='mysql'> select * from t_emp WHERE emp_id=${id} and emp_name=#{name} </select>

java查詢代碼 params 為 id=1 ,name=”小紅”

@Test public void testSelect() { InputStream resourceAsStream = ConfigTest.class.getResourceAsStream('../classes/mybatis-config.xml'); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream); SqlSession sqlSession = sqlSessionFactory.openSession(); EmployeeMapper mapper2 = sqlSession.getMapper(EmployeeMapper.class); Employee employee2 = mapper2.selectEmployeeByCondition2(1,'xiaohong'); System.out.println(employee2); }

結果

==> Preparing: select * from t_emp WHERE emp_id=1 and emp_name=? ==> Parameters: xiaohong(String)<== Columns: emp_id, emp_name, emp_email, emp_tel, emp_dep, emp_status<==Row: 1, xiaohong , 123@qq.com, 123, 1, 0<== Total: 112345

1.1 #{}

從上述代碼可以看出 #{} 在原生jdbc語句中會用 ?占位符來表示。這樣做可以防止sql注入

1.2${}

從上述代碼可以看出 ${} 是直接把param 拼到原生sql上

2.什么時候該使用什么方式

從上述示例可以看出 #{} 與${}的作用都是取值,同時#{}還可以防止sql注入更安全。是否表示在以后代碼中就用#{}呢? 當然不是這樣的,比如某電商系統的訂單表數據量太龐大,不得以分表來保存數據。該電商的工程師最后決定將該表按年月進行分表(t_order_201701,t_order_201702…)。這個時候我們該采用那個中方式進行查詢呢,如我要查詢17年6月份的全部訂單? 你可能想當然的認為這個容易,只要把年月動態傳入到sql中就可以了如下:

<select resultMap='orderResultMap' databaseId='mysql'> select * from t_order_#{createYM} WHERE DATE_FORMAT(create_date,’%Y%m’)=${createYM}+’’ </select>123

結果

==> Preparing: select * from from t_order_? WHERE DATE_FORMAT(create_date,’%Y%m’)=’201706’==> Parameters: 201706(Integer)12

很顯然該語句是執行不了的,此時就要采用${}

<select resultMap='orderResultMap' databaseId='mysql'> select * from t_order_${createYM} WHERE DATE_FORMAT(create_date,’%Y%m’)=${createYM}+’’ </select>

拼裝的原生jdbcsql

==> Preparing: select * from from t_order_201706 WHERE DATE_FORMAT(create_date,’%Y%m’)=’201706’==> Parameters: 201706(Long)12

很顯然這條sql可以執行。

3.總結

動態 sql 是 mybatis 的主要特性之一,在 mapper 中定義的參數傳到 xml 中之后,在查詢之前 mybatis 會對其進行動態解析。mybatis 為我們提供了兩種支持動態 sql 的語法:#{} 以及 ${} 。

1、#相當于對數據 加上 雙引號,$相當于直接顯示數據。2、#{} : 根據參數的類型進行處理,比如傳入String類型,則會為參數加上雙引號。#{} 傳參在進行SQL預編譯時,會把參數部分用一個占位符 ? 代替,這樣可以防止 SQL注入。3、${} : 將參數取出不做任何處理,直接放入語句中,就是簡單的字符串替換,并且該參數會參加SQL的預編譯,需要手動過濾參數防止 SQL注入。4、因此 mybatis 中優先使用 #{};當需要動態傳入 表名或列名時,再考慮使用 ${} , 比較特殊,他的應用場景是需要動態傳入表名或列名時使用,mybatis 排序時使用orderby動態參數時需要注意,用$而不是#

到此這篇關于Mybatis之#{}與${}的區別詳解的文章就介紹到這了,更多相關Mybatis #{}與${}內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费在线播放第一区高清av| 麻豆精品av| 国产精品www994| 六月婷婷一区| 欧美国产另类| 亚洲理论在线| 国产一在线精品一区在线观看| 国产精品流白浆在线观看| 午夜在线视频观看日韩17c| 欧美一区久久久| 丝袜美腿一区二区三区| 麻豆mv在线观看| 视频一区欧美精品| 免费精品国产| 精品视频久久| 国产精品igao视频网网址不卡日韩 | 亚洲免费成人av在线| 欧美日韩精品一本二本三本| 久久久久美女| 亚洲va中文在线播放免费| 国产日韩三级| 日本久久一区| 91成人小视频| 久久黄色影视| 日韩在线成人| 伊人久久大香伊蕉在人线观看热v| 国产精选在线| 日韩电影免费在线观看| 中文字幕人成乱码在线观看| 国产欧美日本| 青草国产精品| 国产精品亚洲欧美一级在线| 国产伦精品一区二区三区视频| 97成人在线| 欧美一区精品| 国产精品亚洲四区在线观看| 国产麻豆一区二区三区精品视频| 国产欧美日韩视频在线| 蜜臀国产一区二区三区在线播放| 亚洲欧美激情诱惑| 中文字幕亚洲精品乱码| 99精品99| 免费不卡中文字幕在线| 午夜久久影院| 蜜桃伊人久久| 日本欧美久久久久免费播放网| 日韩免费精品| 国产欧美日韩一区二区三区在线| 国产精品极品| 久久久男人天堂| 免费一二一二在线视频| 久久一区国产| 国产自产自拍视频在线观看| 日韩欧美视频专区| 激情欧美一区二区三区| aa亚洲婷婷| 石原莉奈在线亚洲二区| 蜜桃视频一区二区三区在线观看| 鲁大师成人一区二区三区| 欧美不卡在线| 婷婷精品在线| 国产精品22p| 裤袜国产欧美精品一区| 黄色欧美日韩| 欧美日韩视频免费看| 欧美日韩伊人| 国产成人免费av一区二区午夜| 久久久久久久久久久9不雅视频| 香蕉久久久久久久av网站| 综合五月婷婷| 国产精成人品2018| 正在播放日韩精品| 91久久久久| 国产精品免费99久久久| 九九色在线视频| 亚洲3区在线| 日本а中文在线天堂| 中文视频一区| 国产成人精品一区二区免费看京 | 亚洲免费一区三区| 久久精品九色| 精品日韩毛片| 欧美在线首页| 久久精品观看| 久久国产精品色av免费看| 欧美国产日本| 欧美日韩免费观看一区=区三区| 日韩中文字幕| 日韩免费在线| 亚洲精品大片| av免费不卡国产观看| 男女激情视频一区| 国产一区二区三区网| 欧美午夜不卡| 国产精品白丝久久av网站| 欧美1区免费| 国产精品久久久久77777丨| 欧美日韩在线网站| 国产精品s色| 国产亚洲一区在线| 国产精品一级| 日韩视频不卡| 国产极品一区| 老鸭窝亚洲一区二区三区| 国产一区二区视频在线看| 男女性色大片免费观看一区二区 | 你懂的国产精品| 西西人体一区二区| 国产一区二区三区日韩精品| 亚洲欧美日本国产专区一区| 精品国产美女a久久9999| 国产亚洲在线观看| 97精品中文字幕| 欧美日韩99| 亚洲欧美久久| 天堂а√在线最新版中文在线| 亚洲+小说+欧美+激情+另类| 成人欧美一区二区三区的电影| 一区二区三区四区精品视频| yellow在线观看网址| 日本在线不卡视频| 婷婷综合亚洲| 成人亚洲欧美| 欧美国产先锋| 日本视频在线一区| 综合亚洲视频| 亚洲一级特黄| 久久青青视频| 久久影视三级福利片| 91欧美极品| 亚洲欧美久久精品| 野花国产精品入口| 亚洲综合在线电影| 韩国女主播一区二区三区| 日本va欧美va瓶| 丝袜亚洲另类欧美| 亚洲精品99| 在线成人动漫av| 欧美日韩精品免费观看视欧美高清免费大片| 国产精品啊v在线| 日本国产亚洲| 亚洲一区区二区| 欧美a级一区| 久久激情一区| 日韩在线短视频| 高清av一区| 国产 日韩 欧美 综合 一区| 国产精品hd| 国产精品magnet| 欧美亚洲自偷自偷| 欧美亚洲色图校园春色| 日韩精品一级| 日韩欧美久久| 婷婷综合国产| 日韩激情啪啪| 蜜桃一区二区三区在线| 亚洲精品一级二级| 亚洲日本网址| 日韩免费av| 国产一区二区三区久久| 青青草国产精品亚洲专区无| 亚洲久久视频| 四虎国产精品免费久久| 国产亚洲精品久久久久婷婷瑜伽| 尤物tv在线精品| 偷拍欧美精品| 红桃视频国产一区| 欧美在线影院| 午夜久久tv| 视频在线观看91| 日韩三区四区| 日本成人在线网站| 国产欧美在线观看免费| 嫩草伊人久久精品少妇av杨幂| 久久精品亚洲一区二区| 久久久久久色 | 超碰在线99| 色网在线免费观看| 在线日韩av| 羞羞答答国产精品www一本| 综合色一区二区| 日韩av不卡在线观看| 国产日韩1区| 国产一区二区三区四区五区 | 免费av一区二区三区四区| 在线一区欧美| 亚洲最新av| 国产精品videossex| 亚洲黄色免费看| 亚洲一区二区动漫| 男女男精品网站| 国产一精品一av一免费爽爽| 日韩av中文字幕一区二区三区| 日韩一区二区三区四区五区 | 不卡一区综合视频| 夜夜精品视频| 欧美日本久久| 亚洲性色av| 亚洲人成在线影院| 你懂的国产精品|