1. 程式人生 > 其它 >MyBatis中map的神奇用法

MyBatis中map的神奇用法

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類,目前來看兩者差別不大。