詳解Mybatis中萬能的Map和模糊查詢寫法
假設(shè),我們的實體類,或者數(shù)據(jù)庫中的表,字段或參數(shù)過多,我們接口參數(shù)以前用的是實體類,現(xiàn)在考慮使用下Map!
接口:
//萬能的Mapint addUser2(Map<String,Object> map);
mapper.xml:
<!--Map中的key--><insert parameterType='map'> insert into mybatis.user (id,name,pwd) values (#{userid},#{userName},#{passWord});</insert>
測試方法:
@Testpublic void addUser2(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map<String, Object> map = new HashMap<>(); map.put('userid',5); map.put('userName','Hello'); map.put('passWord','2222333'); mapper.addUser2(map); sqlSession.commit(); sqlSession.close();}
現(xiàn)在通過Map傳遞參數(shù),直接再sql中取出key即可!
而以前對象傳遞參數(shù),需要再sql取對象相對應(yīng)的屬性名才行!
而以前對象傳遞參數(shù),需要再sql取對象相對應(yīng)的屬性名才行!
只有一個基本類型參數(shù)的情況下,可以直接在sql中取到!(parameterType不寫都可以)
反正多個參數(shù)用Map,或者注解(后面記錄的文章會說到)!
2、模糊查詢寫法模糊查詢怎么寫?
1.java代碼執(zhí)行的時候傳遞通配符% %(比較安全,能防止sql注入,推薦)
List<User> userList = mapper.getUserLike('%李%');
2.在sql拼接中使用通配符!(不能防sql注入)
<select resultType='com.kuang.pojo.User'> select * from mybatis.user where name like '%'#{value}'%'</select>
以上就是詳解Mybatis中萬能的Map和模糊查詢寫法的詳細內(nèi)容,更多關(guān)于Mybatis Map和模糊查詢寫法的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Oracle學(xué)習(xí)筆記之二----查詢2. SQL Server 2005 讀取xml 文件 突破 varchar 8000 限制3. SQLite3的綁定函數(shù)族使用與其注意事項詳解4. Access中批量替換數(shù)據(jù)庫內(nèi)容的兩種方法5. 詳解MySQL中的數(shù)據(jù)類型和schema優(yōu)化6. 講解Oracle系統(tǒng)中用戶權(quán)限的賦予和查看7. Linux安裝ODBC連接SQLServer數(shù)據(jù)庫的步驟8. idea連接sql sever2019圖文教程(超詳細)9. Sqlserver之死鎖查詢以及批量解鎖的實現(xiàn)方法10. MySQL算術(shù)/比較/邏輯/位/運算符與正則舉例詳解
