在mybatis中如何將Map作為參數(shù)
更新時間:2024年05月10日 09:17:47 作者:慈母守中線~
這篇文章主要介紹了在mybatis中如何將Map作為參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
在mybatis中將Map作為參數(shù)
在接口中聲明方法并把參數(shù)設為Map集合
package com.dao; import com.pojo.User; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; public interface UserMapper { int addUser11(Map<String,Object> map); }
在實現(xiàn)類中給Map賦值
package com.dao; import com.pojo.User; import com.uitl.BaseDaoUtil; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.HashMap; import java.util.List; import java.util.Map; public class UserMapperTest { @Test public void addUser11(){ SqlSession sqlSession = BaseDaoUtil.openSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map<String,Object> map = new HashMap<>(); map.put("id",9); map.put("userName","阿峰"); map.put("pwd","1231321"); int i = mapper.addUser11(map); if (i ==0 ){ System.out.println("失敗"); }else { System.out.println("添加成功"); } sqlSession.close(); } }
三,在映射的 SQL 語句文件中編寫相應的SQL語句
<?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.dao.UserMapper"> <insert id="addUser11" parameterType="map"> insert into user (id,userName,pad ) values (#{id},#{userName},#{pwd}); </insert> </mapper>
其中 parameterType 應為map 因為是mybatis自動生成好的別名
mybatis遇到多個參數(shù)時,使用map
我們的實體類,或者數(shù)據(jù)庫中的表,字段或者參數(shù)過多,我們應當考慮使用Map!
//萬能的Map int addUser2(Map<String,Object> map);
mapper.xml
<!--對象中的屬性,可以直接取出來 傳遞map的key--> <insert id="addUser" parameterType="map"> insert into mybatis.user (id, pwd) values (#{userid},#{passWord}); </insert>
Test
@Test public void addUser2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("userid",5); map.put("passWord","2222333"); mapper.addUser2(map); sqlSession.close(); }
注意:
- Map傳遞參數(shù),直接在sql中取出key即可! 【parameterType=“map”】
- 對象傳遞參數(shù),直接在sql中取對象的屬性即可!【parameterType=“Object”】
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
IntelliJ IDEA 2020.3 重大特性(新功能一覽)
這篇文章主要介紹了IntelliJ IDEA 2020.3 重大特性(新功能一覽),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12Maven如何構建可執(zhí)行的jar包(包含依賴jar包)
這篇文章主要介紹了Maven如何構建可執(zhí)行的jar包(包含依賴jar包) ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11Spring Boot應用啟動時自動執(zhí)行代碼的五種方式(常見方法)
Spring Boot為開發(fā)者提供了多種方式在應用啟動時執(zhí)行自定義代碼,這些方式包括注解、接口實現(xiàn)和事件監(jiān)聽器,本文我們將探討一些常見的方法,以及如何利用它們在應用啟動時執(zhí)行初始化邏輯,感興趣的朋友一起看看吧2024-04-04