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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MyBatis 中 ${}和 #{}的正確使用方法(千萬(wàn)不要亂用)

瀏覽:31日期:2023-10-23 14:58:02

1、#{}是預(yù)編譯處理,MyBatis在處理#{ }時(shí),它會(huì)將sql中的#{ }替換為?,然后調(diào)用PreparedStatement的set方法來(lái)賦值,傳入字符串后,會(huì)在值兩邊加上單引號(hào),如上面的值 “4,44,514”就會(huì)變成“ ‘4,44,514’ ”;

2、是字符串替換,在處理是字符串替換,MyBatis在處理時(shí),它會(huì)將sql中的{}是字符串替換,在處理{ }是字符串替換, MyBatis在處理{ }時(shí),它會(huì)將sql中的是字符串替換,在處理是字符串替換,MyBatis在處理時(shí),它會(huì)將sql中的{ }替換為變量的值,傳入的數(shù)據(jù)不會(huì)加兩邊加上單引號(hào)。

注意:使用${ }會(huì)導(dǎo)致sql注入,不利于系統(tǒng)的安全性!SQL注入:就是通過(guò)把SQL命令插入到Web表單提交或輸入域名或頁(yè)面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。常見的有匿名登錄(在登錄框輸入惡意的字符串)、借助異常獲取數(shù)據(jù)庫(kù)信息等

package com.xiaobu.mapper;import com.xiaobu.base.mapper.MyMapper;import com.xiaobu.entity.Country;import java.util.List;/** * @author xiaobu * @version JDK1.8.0_171 * @date on 2018/11/27 19:21 * @description V1.0 */public interface CountryMapper extends MyMapper<Country> { /** * 功能描述:通過(guò)#{}來(lái)進(jìn)行查詢 * * @param ids id * @return java.util.List<com.xiaobu.entity.Country> * @author xiaobu * @date 2019/7/26 11:53 * @version 1.0 */ List<Country> findList(String ids); /** * 功能描述:通過(guò)${}來(lái)進(jìn)行查詢 * * @param ids id * @return java.util.List<com.xiaobu.entity.Country> * @author xiaobu * @date 2019/7/26 11:53 * @version 1.0 */ List<Country> findList2(String ids); /** * 功能描述: 通過(guò)foreach來(lái)進(jìn)行查詢 * * @param ids id * @return java.util.List<com.xiaobu.entity.Country> * @author xiaobu * @date 2019/7/26 11:53 * @version 1.0 */ List<Country> findListByForEach(List<Integer> ids);}

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd' ><mapper namespace='com.xiaobu.mapper.CountryMapper'> <select resultType='com.xiaobu.entity.Country'> select * from country where id in (#{ids} ) </select> <select resultType='com.xiaobu.entity.Country'> select * from country where id in (${ids} ) </select> <select parameterType='List' resultType='com.xiaobu.entity.Country'> select * from country where id in <foreach collection='list' index='index' item='item' open='(' separator=',' close=')'> #{item} </foreach> </select></mapper>

@Test public void countTotal(){ //統(tǒng)計(jì)總數(shù) SELECT COUNT(Id) FROM country Example example = new Example(City.class); int count =countryMapper.selectCountByExample(example); System.out.println('count = ' + count); //按條件查詢 SELECT COUNT(Id) FROM country Country country = new Country(); //country.setCountryname('1234'); int conunt2 = countryMapper.selectCount(country); System.out.println('conunt2 = ' + conunt2); } @Test public void findList(){ //Preparing: select * from country where id in ( ’1,2,3’) List<Country> countries = countryMapper.findList('1,2,3'); //countries = [Country(countryname=Angola, countrycode=AO)] System.out.println('countries = ' + countries); //報(bào)錯(cuò) There is no getter for property named ’ids’ in ’class java.lang.String List<Country> countries2 = countryMapper.findList2('1,2,3'); System.out.println('countries2 = ' + countries2); } @Test public void findListByForeach(){ //Preparing: select * from country where id in ( ? , ? , ? ) //Parameters: 1(Integer), 2(Integer), 3(Integer) List<Integer> list = new ArrayList<>(3); list.add(1); list.add(2); list.add(3); List<Country> countries2 = countryMapper.findListByForEach(list); System.out.println('countries2 = ' + countries2); }

foreach 說(shuō)明

item表示集合中每一個(gè)元素進(jìn)行迭代時(shí)的別名, index指 定一個(gè)名字,用于表示在迭代過(guò)程中,每次迭代到的位置, open表示該語(yǔ)句以什么開始, separator表示在每次進(jìn)行迭代之間以什么符號(hào)作為分隔符, close表示以什么結(jié)束。 collection指參數(shù)類型

到此這篇關(guān)于MyBatis 中 ${}和 #{}的正確使用方法(千萬(wàn)不要亂用)的文章就介紹到這了,更多相關(guān)MyBatis ${}和 #{}內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久成人高清| 天堂va欧美ⅴa亚洲va一国产| 夜夜精品视频| 中文无码日韩欧| 麻豆成人综合网| 麻豆精品久久久| 黄色在线观看www| 午夜亚洲一区| 国产精品探花在线观看| 日韩视频网站在线观看| 日韩精品dvd| 黄色亚洲免费| 欧美日韩午夜电影网| 91精品国产一区二区在线观看| 亚洲毛片在线| 欧美久久天堂| 亚洲资源网站| 国产精品99一区二区三区| 久久中文亚洲字幕| 日韩精品视频在线看| 一本大道色婷婷在线| 久久香蕉精品| www.九色在线| 国产欧美日韩在线一区二区 | 视频福利一区| 精品捆绑调教一区二区三区| 成人日韩精品| 欧美成人久久| 中文字幕av一区二区三区人| 日精品一区二区三区| 婷婷色综合网| 国产精品二区影院| 黑人精品一区| 中文一区一区三区高中清不卡免费| 97精品国产福利一区二区三区| 成人福利视频| 五月婷婷亚洲| 在线观看视频免费一区二区三区| 国产精品久久久久久久免费软件| 久久香蕉网站| 欧美成人精品三级网站| 日韩午夜一区| 国产高清精品二区| 日本а中文在线天堂| 99久久夜色精品国产亚洲1000部| 亚洲高清av| 日本欧美在线看| 国产精品红桃| 日韩欧美自拍| 青草综合视频| 黑人精品一区| 老司机精品久久| 成人一区而且| 亚洲精品午夜av福利久久蜜桃| 亚洲欧美高清| 91精品丝袜国产高跟在线| 久久精品国内一区二区三区| 欧美亚洲国产激情| 青青草伊人久久| 一本色道精品久久一区二区三区| 日本亚洲三级在线| 亚洲精品一级二级三级| 影视先锋久久| 久久精品xxxxx| 久久精品不卡| 日韩1区2区日韩1区2区| 在线成人直播| 国产精品久久久久77777丨| 亚洲午夜一级| 色综合五月天| 中文不卡在线| 日韩高清中文字幕一区二区| 国产日韩一区二区三免费高清| 日韩欧美综合| 欧美一区自拍| 久久在线免费| 日韩av一二三| 久久理论电影| 国产精品视频一区视频二区| 免费人成网站在线观看欧美高清| 久久99高清| 亚洲精品在线a| 好吊日精品视频| 久久电影tv| 国产日韩免费| 国产精品美女久久久浪潮软件| 日本免费一区二区三区四区| 亚洲精品日韩久久| 伊人久久视频| 91麻豆国产自产在线观看亚洲| 中文一区一区三区免费在线观| 欧美伊人影院| 日本在线一区二区三区| 91久久久精品国产| 日韩1区在线| 欧美日韩一区自拍| 日欧美一区二区| 午夜在线一区| 日韩在线短视频| 日韩欧美精品| 久久中文字幕一区二区三区| 午夜电影一区| 亚洲一区二区av| 亚洲精品极品少妇16p| 欧美aa在线视频| 日韩av一二三| 久久久影院免费| 高清不卡亚洲| 精品久久久网| 日韩国产欧美| 免费在线小视频| 高清一区二区| 国产精选在线| 91中文字幕精品永久在线| 国产欧美自拍| 欧美精品二区| 精品国产麻豆| 免费在线观看一区| 嫩呦国产一区二区三区av| 青草国产精品久久久久久| 亚洲tv在线| 日韩一区二区三区精品| 亚洲精品系列| 日韩在线电影| 激情综合五月| 精品国产99| 国内不卡的一区二区三区中文字幕| 国语对白精品一区二区| 国内精品美女在线观看| 麻豆视频一区二区| 国产中文欧美日韩在线| 精品欧美一区二区三区在线观看| 在线亚洲人成| 激情五月综合网| 日韩精品一区二区三区中文| 日本va欧美va精品| 亚洲一区二区动漫| 国产亚洲观看| 麻豆国产欧美日韩综合精品二区| 久久精品国产久精国产爱| 色综合www| 亚洲欧美日韩国产一区| 蜜桃视频一区二区三区在线观看| 亚洲丝袜美腿一区| 麻豆一区二区在线| 日韩久久一区二区三区| 综合国产视频| 免费在线欧美黄色| 日韩av片子| 欧美激情91| 影音先锋国产精品| 欧美.日韩.国产.一区.二区| 国产一卡不卡| 国产aⅴ精品一区二区三区久久| 国产在线观看www| 最新国产精品视频| 黄色精品视频| 好看不卡的中文字幕| 国产午夜一区| 成人久久一区| aa亚洲婷婷| 日韩精品欧美大片| 亚洲综合电影| 六月婷婷一区| 国产一区二区三区不卡视频网站| 亚洲午夜在线| 亚洲91精品| 最近国产精品视频| 欧美日韩中文一区二区| 一区二区高清| 国产一区二区三区精品在线观看 | 欧美黄页在线免费观看| 免费在线小视频| 日韩高清三区| 欧美1区免费| 亚洲视频国产精品| 亚洲永久av| 五月天综合网站| 国产免费久久| 伊人久久成人| 亚洲色图国产| 国产精品红桃| 麻豆91精品| 亚洲午夜久久久久久尤物| 日韩av网站在线免费观看| 精品成人免费一区二区在线播放| 欧美久久久网站| 亚洲精品一区二区妖精| 国产精品nxnn| 日韩高清在线不卡| 免费欧美一区| 精品视频自拍| 国产精品久久久亚洲一区| 激情偷拍久久| 国产成人久久精品一区二区三区| 亚洲欧洲另类| 神马久久午夜| 国产精品久久久久久模特| 青草国产精品| 亚洲一区二区免费在线观看|