MyBatis獲取參數(shù)值的兩種方式詳解
MyBatis配置相關(guān)模板
1.核心配置文件的模板
2.映射文件模板
3.封裝SqlSessionUtils工具類
package com.atguigu.mybatis.utils; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; public class SqlSessionUtils { public static SqlSession getSqlSession(){ SqlSession sqlSession = null; try { InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); sqlSession = sqlSessionFactory.openSession(true); } catch (IOException e) { e.printStackTrace(); } return sqlSession; } }
MyBatis獲取參數(shù)值的兩種方式
- MyBatis獲取參數(shù)值的兩種方式:${}和#{}
- ${}本質(zhì)是字符串拼接,#{}的本質(zhì)是占位符賦值
- ${}使用字符串拼接的方式拼接sql,若為字符串類型或日期類型的字段進行賦值時,需要手動加單引號。
- #{}使用占位符賦值的方式拼接sql,若為字符串類型或日期類型的字段進行賦值時,需要自動加單引號。
1.單個字面量類型的參數(shù)
若mapper接口的方法參數(shù)為單個的字面量類型,此時可以使用${}和#{}以任意的名稱獲取參數(shù)值。${}需要手動加引號
①在ParameterMapper接口上
②在ParameterMapper.xml上
用#{username}- username可任意替換
用’${username}’ - username可任意替換
③測試
2.多個字面量類型的參數(shù)
- 若mapper接口的方法參數(shù)是多個時,此時MyBatis會自動的將這些參數(shù)放在一個map集合中以arg0,arg1…為鍵,以參數(shù)為值或者以param1,param2為鍵,以參數(shù)為值
- 此時通過${}和#{}訪問map集合的鍵會獲取對應(yīng)的值
①在ParameterMapper接口中
②在 ParameterMapper.xml配置類
③測試
3.map集合類型的參數(shù)
若map接口的方法參數(shù)為多個,可以手動創(chuàng)建map集合,通過#{}和${}訪問map集合的鍵獲取對應(yīng)的值
①在ParameterMapper接口中
②在 ParameterMapper.xml配置類
③測試
4.實體類類型的參數(shù)
若mapper接口的方法參數(shù)是實體類對象,可以使用${}或#{}通過對象的屬性名獲取屬性值。
①在ParameterMapper接口中
②在 ParameterMapper.xml配置類
③測試
5.使用@Param標識參數(shù)
可以通過@Param注解標識mapper接口的方法參數(shù),此時參數(shù)會放在map集合中
①以@Param注解的value屬性值為鍵,參數(shù)值為值
②以param1,param2為鍵。以參數(shù)為值
2.通過#{}或${}訪問map集合的鍵可以獲取對應(yīng)的值
①在ParameterMapper接口中
②在 ParameterMapper.xml配置類
③測試
到此這篇關(guān)于MyBatis獲取參數(shù)值的兩種方式詳解的文章就介紹到這了,更多相關(guān)MyBatis獲取參數(shù)值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis 實現(xiàn)一個搜索框?qū)Χ鄠€字段進行模糊查詢
這篇文章主要介紹了Mybatis 實現(xiàn)一個搜索框?qū)Χ鄠€字段進行模糊查詢,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01SpringBoot項目實現(xiàn)短信發(fā)送接口開發(fā)的實踐
本文主要介紹了SpringBoot項目實現(xiàn)短信發(fā)送接口開發(fā)的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Java cookie和session會話技術(shù)介紹
session的工作原理和cookie非常類似,在cookie中存放一個sessionID,真實的數(shù)據(jù)存放在服務(wù)器端,客戶端每次發(fā)送請求的時候帶上sessionID,服務(wù)端根據(jù)sessionID進行數(shù)據(jù)的響應(yīng)2023-04-04