MyBatis使用Map與模糊查詢的方法示例
當我們的實體類、或者數據庫裡的表、字段或者參數很多,這個時候考慮使用map
一、使用map傳參插入數據
1.編寫Dao接口/Mapper層 使用Map做參數
//Dao接口/Mapper層 使用Map傳參 int addUser2(Map<String,Object> map);
2.編寫Mapper.xml中的sql語句
<!-- 傳遞map的key--> <insert id="addUser2" parameterType="map"> insert into firend_mq.users (id,username,password) value (#{userid},#{name},#{pwd}) </insert>
3.編寫測試類
//使用map傳參添加插入 @Test public void addUser2(){ SqlSession sqlSession = Mybatisutil.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("userid",4); map.put("name","好人"); map.put("pwd",1111111); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
使用Map傳參也可以批量插入數據
MyBatis 批量插入/修改/刪除數據(MySql)
二、使用map修改數據
當我們的實體類、或者數據庫裡的表、字段或者參數很多的時候,使用一般的實體類傳參,就需要將所有的字段全部寫入,顯然太過於繁瑣,這時候使用map傳入你需要更改的字段就行
代碼大致相似就不放代碼瞭。。。
三、模糊查詢
1.方式一:java代碼執行的時候,傳遞通配符% %
List<User> likelist = mapper.getUserlike("%毛%");
2.方式二:在Mapper.xml中的sql拼接中使用通配符
select * from firend_mq.users where username like "%"#{value}"%"
實現結果:
總結:
- Map傳遞參數,直接寫sql語句中取出即可 {parameterType=“map”}
優點可以在取參數#{value}的時候可以DIY,直接使用自己傳入的key值 - 對象傳遞參數,直接在sql中取對象的屬性即可 {parameterType=“Object”}
但是必須和實體類名字一致 - 隻有一個基本類型參數的情況下,可以直接在sql中取到
- 多個參數用Map,或者註解
到此這篇關於MyBatis使用Map與模糊查詢的文章就介紹到這瞭,更多相關MyBatis用Map與模糊查詢內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MyBatis中map的應用與模糊查詢實現代碼
- 詳細聊聊Mybatis中萬能的Map
- 詳解Mybatis中的CRUD
- Mybatis CURD及模糊查詢功能的實現
- SpringBoot整合Mybatis簡單實現增刪改查