您好,登錄后才能下訂單哦!
這篇文章主要介紹Mybatis中萬能的Map有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
假設,我們的實體類,或者數據庫中的表,字段或者參數過多,我們需要考慮使用Map
簡單來說,map你用什么參數就寫什么參數,而實體類需要寫所有參數。
map不需要名稱完全對應,通過鍵的映射取值,實體類必須要求和實體類中屬性名字一樣
map傳遞參數,直接在sql中取出key即可 【parameterType=“map”】
對象傳遞參數,直接在sql中取對象的屬性即可 【parameterType=“Object”】
只有一個基本類型 (如int),可以直接在sql中找到
多個參數用Map或者注解
UserMapper接口
public interface UserMapper { User getUserById2(Map<String,Object> map); }
UserMaper.xml
<!-- 用map后這邊參數可以隨便寫--> <insert id="addUser2" parameterType="map" > insert into mybatis.user(id, name, pwd) VALUES (#{userid},#{username},#{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("username","王五"); map.put("password","23333"); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
UserMapper接口
public interface UserMapper { User getUserById2(Map<String,Object> map); }
UserMaper.xml
<select id="getUserById2" parameterType="map" resultType="com.lding.pojo.User"> select * from mybatis.user where id=#{id} and name=#{name} </select>
test
@Test public void getUserById2() { SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map<String,Object> map=new HashMap<String,Object>(); map.put("id",1); map.put("name","冷丁"); User userById = mapper.getUserById2(map); System.out.println(userById); sqlSession.close(); }
xml文件SQL語句
<select id="findByPriceRange" parameterType="java.util.Map" resultType="com.itlaoqi.mybatis.entity.Goods"> select * from t_goods where current_price between #{min} and #{max} order by current_price limit 0,#{limt} </select>
以上是“Mybatis中萬能的Map有什么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。