MyBatis中map的神奇用法
阿新 • • 發佈:2022-03-14
MyBatis中的map是我認為非常神奇的一部分。尤其是它的用法,比如可以代替實體類產生的物件直接插入資料到資料庫,避免了不知道資料庫中各個部分的名稱的問題。
依舊使用我們以前的模板。
在mapper中使用如下語句,定義一個方法名,新增資訊到後臺表單。
int addUser2(Map<String,Object> map);
不需要管以前定義的實體類和util檔案,我們直接去mapper.xml中新增程式碼。
<insert id="addUser2" parameterType="map"> insert into jdbc1.users(name,pwd,number,danweixinxi) values (#{username},#{psaaada},#{nnn},#{danwi});</insert>
可以看出,後面的value我都是隨便寫的,假設我們不知道後臺的資料表中都有什麼,我們可以隨意定義。
之後就可以去test中嘗試使用這個方法了。
@Test public void test6(){ SqlSession sqlSession; sqlSession = MyBatisUtils.getSqlSession(); userDao mapper=sqlSession.getMapper(userDao.class); Map<String,Object> map=new HashMap<String,Object>(); map.put("username","shabby"); map.put("psaaada","kezehua"); map.put("nnn","cpdd"); map.put("danwi","gouwo"); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
這個方法的優點是跳過使用user類,目前來看兩者差別不大。