MyBatis獲取參數(shù)值的兩種方式詳解
MyBatis配置相關模板
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集合的鍵會獲取對應的值
①在ParameterMapper接口中

②在 ParameterMapper.xml配置類

③測試

3.map集合類型的參數(shù)
若map接口的方法參數(shù)為多個,可以手動創(chuàng)建map集合,通過#{}和${}訪問map集合的鍵獲取對應的值
①在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集合的鍵可以獲取對應的值
①在ParameterMapper接口中

②在 ParameterMapper.xml配置類

③測試

到此這篇關于MyBatis獲取參數(shù)值的兩種方式詳解的文章就介紹到這了,更多相關MyBatis獲取參數(shù)值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis教程之resultmap_動力節(jié)點Java學院整理
這篇文章主要介紹了mybatis教程之resultmap,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
JAVA?biginteger類bigdecimal類的使用示例學習
這篇文章主要為大家介紹了JAVA?biginteger類bigdecimal類的使用示例學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07
Spring Boot集成Spring Cloud Security進行安全增強的方法
Spring Cloud Security是Spring Security的擴展,它提供了對Spring Cloud體系中的服務認證和授權的支持,包括OAuth2、JWT等,這篇文章主要介紹了Spring Boot集成Spring Cloud Security進行安全增強,需要的朋友可以參考下2024-11-11
詳解Spring Cloud Config采用Git存儲時兩種常用的配置策略
這篇文章主要介紹了詳解Spring Cloud Config采用Git存儲時兩種常用的配置策略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07

