最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis獲取參數(shù)值的五種情況分析(推薦)

 更新時(shí)間:2024年11月21日 11:16:15   作者:雷神樂樂  
本文通過實(shí)例代碼給大家介紹MyBatis獲取參數(shù)值的五種情況分析,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

MyBatis獲取參數(shù)值的兩種方式:${}和#{}
${}本質(zhì):字符串拼接
#{}本質(zhì):占位符賦值

MyBatis獲取參數(shù)值的各種情況:

1. mapper接口方法的參數(shù)為單個(gè)的字面量類型:

可以通過${}和#{}以任意的名稱獲取參數(shù)值,但是需要注意${}的單引號(hào)問題

ParameterMapper接口:

User getUserByUsername(String username);

ParameterMapper.xml:

<select id="getUserByUsername" resultType="User">
    <!-- select * from t_user where username = #{username};-->
    select * from t_user where username = '${username}';
</select>

ParameterMapperTest:

@Test
public void testGetUserByUsername() {
    SqlSession sqlSession = SqlSessionUtils.getSqlSession();
    ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
    User user = mapper.getUserByUsername("admin");
    System.out.println(user);
}

2. mapper接口方法的參數(shù)為多個(gè)時(shí):

此時(shí)MyBatis會(huì)將這些參數(shù)放在一個(gè)map集合中,以兩種方式進(jìn)行存儲(chǔ)

a>以arg0,arg1...為鍵,以參數(shù)為值

b>以param1,param2...為鍵,以參數(shù)為值

一次只需要通過#{}和${}以鍵的方式訪問即可,但是需要注意${}的單引號(hào)問題

ParameterMapper接口:

User checkLogin(String username, String password);

ParameterMapper.xml:

<select id="checkLogin" resultType="User">
    <!-- select * from t_user where username = '${arg0}' and password = '${arg1}';-->
    select * from t_user where username = #{arg0} and password = #{arg1};
</select>

ParameterMapperTest:

@Test
public void testCheckLogin() {
    SqlSession sqlSession = SqlSessionUtils.getSqlSession();
    ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
    User user = mapper.checkLogin("admin", "123456");
    System.out.println(user);
}

3. 若mapper接口方法的參數(shù)有多個(gè)時(shí),可以手動(dòng)將這些參數(shù)放在一個(gè)map中存儲(chǔ):

只需要通過#{}和${}以鍵的方式訪問值即可,但是需要注意${}的單引號(hào)問題

ParameterMapper接口:

User checkLoginByMap(Map<String, Object> map);

ParameterMapper.xml:

<select id="checkLoginByMap" resultType="User">
    select *
    from t_user
    where username = #{username}
      and password = #{password};
</select>

ParameterMapperTest:

@Test
public void testCheckLoginByMap() {
    SqlSession sqlSession = SqlSessionUtils.getSqlSession();
    ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
    HashMap<String, Object> map = new HashMap<>();
    map.put("username", "admin");
    map.put("password", "123456");
    User user = mapper.checkLoginByMap(map);
    System.out.println(user);
}

4. mapper接口方法的參數(shù)是實(shí)體類類型的參數(shù):

只需要通過#{}和${}以屬性值的方式訪問值即可,但是需要注意${}的單引號(hào)問題

ParameterMapper接口:

int insertUser(User user);

ParameterMapper.xml:

<insert id="insertUser">
    insert into t_user
    values (null, #{username}, #{password}, #{age}, #{sex}, #{email});
</insert>

ParameterMapperTest:

@Test
public void testInsertUser() {
    SqlSession sqlSession = SqlSessionUtils.getSqlSession();
    ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
    int num = mapper.insertUser(new User(null, "李四", "789789", 25, "男", "456123@qq.com"));
    System.out.println(num);
}

5. 使用@Param注解命名參數(shù):

此時(shí)MyBatis會(huì)將這些參數(shù)放在一個(gè)map集合中,以兩種方式進(jìn)行存儲(chǔ)

a>以@Param注解的值為鍵,以參數(shù)為值

b>以param1,param2...為鍵,以參數(shù)為值

因此只需要通過#{}和${}以鍵的方式訪問值即可,但是需要注意${}的單引號(hào)問題

ParameterMapper接口:

User checkLoginByParam(@Param("username") String username, @Param("password") String password);

ParameterMapper.xml:

<!--User checkLoginByParam(@Param("username") String username, @Param("password") String password);-->
<select id="checkLoginByParam">
    select *
    from t_user
    where username = #{username}
      and password = #{password};
</select>

ParameterMapperTest:

@Test
public void testCheckLoginByParam() {
    SqlSession sqlSession = SqlSessionUtils.getSqlSession();
    ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
    User user = mapper.checkLoginByParam("admin", "123456");
    System.out.println(user);
}

總結(jié):

上面的五種情況想要記清楚還是比較難的,所以我們可以分為兩種情況:

一種是在參數(shù)中加上@Param

一種是使用屬性值

到此這篇關(guān)于MyBatis獲取參數(shù)值的五種情況的文章就介紹到這了,更多相關(guān)MyBatis獲取參數(shù)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中HashMap 中的一個(gè)坑

    Java中HashMap 中的一個(gè)坑

    這篇文章主要介紹了Java中HashMap 中的一個(gè)坑,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • java接口中的default(默認(rèn))使用方式

    java接口中的default(默認(rèn))使用方式

    這篇文章主要介紹了java接口中的default(默認(rèn))使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java實(shí)現(xiàn)讀取項(xiàng)目中文件(.json或.properties)的方法詳解

    Java實(shí)現(xiàn)讀取項(xiàng)目中文件(.json或.properties)的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)讀取項(xiàng)目中文件的方法,例如.json或.properties,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-04-04
  • idea日志亂碼和tomcat日志亂碼問題的解決方法

    idea日志亂碼和tomcat日志亂碼問題的解決方法

    這篇文章主要介紹了idea日志亂碼和tomcat日志亂碼問題的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java編寫簡單計(jì)算器的完整實(shí)現(xiàn)過程

    Java編寫簡單計(jì)算器的完整實(shí)現(xiàn)過程

    這篇文章主要給大家介紹了關(guān)于Java編寫簡單計(jì)算器的完整實(shí)現(xiàn)過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 關(guān)于MyBatis結(jié)果映射的實(shí)例總結(jié)

    關(guān)于MyBatis結(jié)果映射的實(shí)例總結(jié)

    結(jié)果集映射主要是為了解決屬性名和類型名不一致的問題,下面這篇文章主要給大家介紹了關(guān)于MyBatis結(jié)果映射的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • SpringBoot程序的打包與運(yùn)行的實(shí)現(xiàn)

    SpringBoot程序的打包與運(yùn)行的實(shí)現(xiàn)

    本文主要介紹了SpringBoot程序的打包與運(yùn)行的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • java判斷l(xiāng)ist不為空的實(shí)現(xiàn),和限制條數(shù)不要在一起寫

    java判斷l(xiāng)ist不為空的實(shí)現(xiàn),和限制條數(shù)不要在一起寫

    這篇文章主要介紹了java判斷l(xiāng)ist不為空的實(shí)現(xiàn),和限制條數(shù)不要在一起寫。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • El表達(dá)式使用問題javax.el.ELException:Failed to parse the expression的解決方式

    El表達(dá)式使用問題javax.el.ELException:Failed to parse the expression

    今天小編就為大家分享一篇關(guān)于Jsp El表達(dá)式使用問題javax.el.ELException:Failed to parse the expression的解決方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • spring如何使用xml裝配bean

    spring如何使用xml裝配bean

    這篇文章主要介紹了spring如何使用xml裝配bean,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

体育| 巧家县| 连平县| 松溪县| 汨罗市| 蓬溪县| 中西区| 涞源县| 木兰县| 甘德县| 南充市| 会昌县| 黄大仙区| 来宾市| 噶尔县| 香港 | 额尔古纳市| 宣武区| 伊宁县| 手机| 丹巴县| 应城市| 禹城市| 蓬莱市| 大庆市| 温宿县| 崇左市| 深州市| 博爱县| 车致| 随州市| 克拉玛依市| 凤凰县| 壶关县| 滨海县| 明水县| 永安市| 德化县| 商城县| 瓮安县| 营山县|