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

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

淺談mybatis mapper.xml文件中$和#的區別

瀏覽:198日期:2023-10-21 11:57:55

#{}表示一個占位符即?,可以有效防止sql注入。在使用時不需要關心參數值的類型,mybatis會自動進行java類型和jdbc類型的轉換。

#{}可以接收簡單類型值或pojo屬性值,如果傳入簡單類型值,#{}括號中可以是任意名稱。

<!-- 根據名稱模糊查詢用戶信息 --> <select parameterType='String' resultType='user'> select * from user where username like CONCAT(CONCAT(’%’, #{name}), ’%’) </select>

${}可以將parameterType 傳入的內容拼接在sql中且不進行jdbc類型轉換。

${}可以接收簡單類型值或pojo屬性值,如果傳入簡單類型值,${}括號中名稱只能是value。

<!-- 根據名稱模糊查詢用戶信息 --> <select parameterType='string' resultType='user'> select * from user where username like ’%${value}%’ </select>

對于order by排序,使用#{}將無法實現功能,應該寫成如下形式:

ORDER BY ${columnName}

另外,對于mybatis逆向工程生成的代碼中,進行模糊查詢調用andXxxLike()方法時,需要手動加%,如下:

CustomerExample customerExample=new CustomerExample();

customerExample.or().andNameLike('%'+name+'%');

補充知識:Mybatis條件if test使用枚舉值

1 正確

package com.weather.weatherexpert.common.utils; /** * <p>Title: </p> * <p>Description: </p> * * @Author * @CreateTime */public enum City { XINZHOU(100002,'忻州'), DATONG(100003,'大同'), TAIYUAN(100001,'太原'); private final Integer code; private final String name; City(Integer value, String desc) { this.code = value; this.name = desc; } public Integer getCode() { return code; } public String getName() { return name; }}

xml:

<!--<if test='cityName == @com.weather.weatherexpert.common.utils.City.XINZHOU@getName'>&lt;!&ndash;wrong,java.lang.ClassNotFoundException: Unable to resolve class: com.weather.weatherexpert.common.utils.City.XINZHOU&ndash;&gt;--><!--<if test='cityName == @com.weather.weatherexpert.common.utils.City@XINZHOU@getName'>&lt;!&ndash;wrong,[org.apache.ibatis.ognl.ParseException: Encountered ' '@' '@ '' at line 1, column 65.&ndash;&gt;--><if test='cityName == @com.weather.weatherexpert.common.utils.City@XINZHOU.getName'><!--right--> area_table</if> where 1=1<if test='cityName == @com.weather.weatherexpert.common.utils.City@XINZHOU.getName'><!--right--> and city_name=#{cityName}</if>

淺談mybatis mapper.xml文件中$和#的區別

2 錯誤

package com.weather.weatherexpert.common.utils; /** * <p>Title: </p> * <p>Description: </p> * * @Author * @CreateTime */public class CityClass { public static enum CityEnum { XINZHOU(100002, '忻州'), DATONG(100003, '大同'), TAIYUAN(100001, '太原'); private final Integer code; private final String name; CityEnum(Integer value, String desc) { this.code = value; this.name = desc; } public Integer getCode() { return code; } public String getName() { return name; } }}

xml:

/* Caused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression ’cityName == @com.weather.weatherexpert.common.utils.CityClass@CityEnum.XINZHOU.getName’. Cause: org.apache.ibatis.ognl.OgnlException: Could not get static field CityEnum from class com.weather.weatherexpert.common.utils.CityClass [java.lang.NoSuchFieldException: CityEnum]*/ <if test='cityName == @com.weather.weatherexpert.common.utils.CityClass@CityEnum.XINZHOU.getName'><!--wrong--> area_table </if>

可見,直接定義的枚舉類可以正常使用,在類中定義的枚舉類這樣使用會報錯,可能方法還沒有找到。

以上這篇淺談mybatis mapper.xml文件中$和#的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本精品另类| 国产精一区二区| 麻豆传媒一区二区三区| 欧美综合社区国产| 欧美一区二区三区久久精品| 欧美一区自拍| 国产精品宾馆| 国产aⅴ精品一区二区四区| 欧美激情国产在线| 成人午夜精品| 蜜臀va亚洲va欧美va天堂| 蜜乳av另类精品一区二区| 国产午夜一区| 久久久久国产精品一区三寸| 国产精品三上| 久久久精品日韩| а√天堂8资源在线| 成人av动漫在线观看| 亚洲91网站| 欧美激情 亚洲a∨综合| 亚洲精品福利电影| 喷白浆一区二区| 久久av电影| 一区在线视频观看| 国产欧美日韩一区二区三区四区| 欧美日韩在线网站| 日韩av二区在线播放| 免费在线成人| 日韩中文首页| 欧美精品自拍| 91麻豆精品| 欧美激情国产在线| 99在线精品免费视频九九视| 亚洲精品伊人| 精品国产乱码久久久| 五月婷婷六月综合| 欧美日一区二区在线观看| 综合日韩av| 中文一区在线| 久久影院一区二区三区| 激情欧美丁香| 人人爱人人干婷婷丁香亚洲| 成人精品久久| 久久午夜影视| 日韩精品专区| 欧美一区在线观看视频| 亚洲欧美日韩专区| 久久久久久久久99精品大| 国产福利一区二区精品秒拍 | 日韩不卡一区| 日韩亚洲精品在线观看| 激情综合网五月| 97在线精品| 国产精品日韩精品在线播放| 蜜臀av一区二区三区| 欧美1区2区3区| 99久久精品费精品国产| 欧美 日韩 国产精品免费观看| 久久精品凹凸全集| 午夜免费一区| 久久中文欧美| 中文字幕一区日韩精品| 色网在线免费观看| 日本91福利区| 美女网站一区| 国产精品99视频| 日韩av二区在线播放| 午夜国产一区二区| 国内精品美女在线观看| 亚洲午夜国产成人| 亚洲a在线视频| 日本va欧美va瓶| 欧美日韩国产综合网| 亚洲免费福利| 欧美成人精品一级| 日韩精品亚洲aⅴ在线影院| 91九色精品| 六月婷婷综合| 免费在线日韩av| 日韩在线黄色| 亚洲精品国产偷自在线观看| 黑人精品一区| 久久的色偷偷| 视频国产精品| 免费看的黄色欧美网站| 另类中文字幕国产精品| 国产伦乱精品| 美女91精品| 不卡在线一区二区| 国产精品久久久久久久久久10秀| 日韩精品第一| 老鸭窝毛片一区二区三区| 久久精品在线| 开心激情综合| 国产精品九九| 日韩高清不卡一区| 亚洲欧美日韩专区| 久久国产成人午夜av影院宅| 精品国产不卡| 麻豆视频久久| 国产精选一区| 视频一区二区三区入口| 日韩午夜av| 成人羞羞在线观看网站| 国产伊人久久| 精品欠久久久中文字幕加勒比| 69堂免费精品视频在线播放| 亚洲乱码视频| 亚洲精品美女91| 亚洲aa在线| 日韩高清不卡在线| 91午夜精品| 国产欧美一区二区三区国产幕精品 | 国产日韩欧美中文在线| 伊人成人在线视频| 欧美不卡在线| 天堂av在线| 色婷婷综合网| 激情黄产视频在线免费观看| 国产精品不卡| 中文字幕成在线观看| 日韩成人a**站| 日韩欧美1区| 国产一区二区三区视频在线| 欧美精品99| 精品成av人一区二区三区| 国产一区二区三区国产精品| 麻豆成人91精品二区三区| 国产亚洲精品美女久久久久久久久久| 亚洲欧洲美洲国产香蕉| 综合色一区二区| 亚洲a级精品| 欧美精品福利| 国产精品成人3p一区二区三区| 国产精品v一区二区三区| 欧美激情在线精品一区二区三区| 老色鬼精品视频在线观看播放| 麻豆中文一区二区| 色欧美自拍视频| 91精品久久久久久久久久不卡| 亚洲国产不卡| 天堂俺去俺来也www久久婷婷| 国产香蕉精品| 国产夫妻在线| 欧美在线资源| 亚洲精品免费观看| 国产精品美女午夜爽爽| 国精品产品一区| 亚洲香蕉网站| 婷婷精品在线| 国内精品麻豆美女在线播放视频| 99久久婷婷| 亚洲精品精选| 国产欧美久久一区二区三区| 国产欧美视频在线| 成人亚洲欧美| 香蕉久久国产| 国产精品久久久久久久久免费高清| 精品久久久中文字幕| 欧美一区二区三区高清视频| 亚洲最新av| 国产在线视频欧美一区| 欧美特黄一区| 欧美在线观看天堂一区二区三区| 久久精品欧洲| 九一成人免费视频| 欧美亚洲tv| 日韩中文欧美| 亚洲专区视频| 国产精品激情| 久久五月天小说| 日本视频在线一区| 日韩精品欧美| 日本成人在线不卡视频| 亚洲女同av| 日本不卡视频在线观看| 一本大道色婷婷在线| 亚洲香蕉久久| 亚洲成av在线| 欧美欧美黄在线二区| 亚洲高清久久| 国产日韩中文在线中文字幕| 99视频精品全部免费在线视频| 日韩精品一区二区三区免费视频| 久久精品午夜| 水野朝阳av一区二区三区| 精品久久久网| 中文字幕一区二区三区四区久久| 福利视频一区| 日日摸夜夜添夜夜添国产精品| 日韩欧美精品| 国产日产精品_国产精品毛片| 99热精品久久| 国产精品久久久久久久久久久久久久久 | 日韩高清三区| 欧美aa国产视频| 麻豆国产欧美一区二区三区 | 91亚洲国产| 日本a口亚洲| 日韩午夜av在线|