MyBatis學習筆記(四)使用map實現查詢和插入

Jiarui Zhang@nju發表於2020-10-25

(四)MyBaits使用Map實現插入和查詢

當資料庫中的表欄位過多的時候,考慮使用Map的方式進行插入。

  • 資料庫

在這裡插入圖片描述

  • 環境

    使用了MyBatisUtils類封裝MyBatis功能,MyBatisUtils類在筆記(二)中

  • 實現

    • insert

      Mybatis-config.xml檔案不變

      UserMapper.xml增加以下程式碼

      <insert id="insert2" parameterType="map">
          insert into mybatis.user values(#{idd},#{namee},#{pwdd})
      </insert>
      

      測試程式碼

      @Test
      public void test(){
          //獲取session物件
          SqlSession sqlSession = MybatisUtils.getSqlSession();
      
          UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
      
          Map<String,Object> map = new HashMap<String,Object>();
      
          map.put("idd",10);
      
          map.put("namee","zhang");
      
          map.put("pwdd","28373");
      
          int res = userMapper.insert2(map);
      
          if(res>0)
              System.out.println("succeed");
      
          sqlSession.commit();
      
          sqlSession.close();
      }
      

      測試結果,插入成功!

    • Select

      • Mybatis-config.xml檔案不變

      • UserMapper.xml增加以下程式碼

          <select id="getUserById2" parameterType="map" resultType="top.zhang.pojo.User">
                  select * from user where id=#{userid} and name=#{username}
              </select>
      
      • 測試程式碼

         @Test
            public void test(){
                //獲取session物件
                SqlSession sqlSession = MybatisUtils.getSqlSession();
        
                UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        
                Map<String,Object> map = new HashMap<String,Object>();
        
                map.put("userid",10);
        
                map.put("username","zhang");
        
        
                User user = userMapper.getUserById2(map);
        
                System.out.println(user.toString());
        
                sqlSession.commit();
        
                sqlSession.close();
            }
        
      • 查詢成功

相關文章