MyBatis中map的應用與模糊查詢實現代碼

1.MyBatis中map的應用

1.1.應用場景

假設,實體類,或者數據庫中的表,字段或者參數過多,應當考慮使用Map!!!

1.2.具體實現

//萬能map
int addUser2(Map<String,Object> map);
    <!--對象中的屬性,可以直接取出來 parameterType=傳遞map中的key-->
    <insert id="addUser" parameterType="map">
        insert into mybatis.user (id, name, pwd) values (#{userId},#{userName},#{passWord});
    </insert>
    @Test
    public void addUser(){
        SqlSession sqlSession = null;
        try{
            sqlSession = MybatisUtils.getSqlSession();
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("userid",5);
            map.put("userName", "Hello");
            map.put("passWord","123456");
            userMapper.addUser2(map);
            sqlSession.commit();
        }catch(Exception e){
            e.printStackTrace();
        }finally {
            sqlSession.close();
        }
    }

1.3.註意點!!!

  •  Map傳遞參數,直接在sql中取出key即可!【parameterType=“map”】
  • 對象傳遞參數,直接在sql中取對象的屬性即可!【parameterType=“Object”】
  • 隻有一個基本類型參數的情況下,可以直接在sql中取到! 多個參數用Map,或者註解!

2.模糊查詢

User gteUserById(Map<String,Object> map);
<select id="getUserLike" resultType="com.pojo.User">
    select * from mybatis.user where name like #{value}
    </select>
 @Test
    public void getUserLike(){
        SqlSession sqlSession = null;
        try{
            sqlSession = MybatisUtils.getSqlSession();
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            List<User> userList = userMapper.getUserLike("%lyh%");
            for(User user : userList){
                System.out.println(user);
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally {
            sqlSession.close();
        }

    }

到此這篇關於MyBatis中map的應用與模糊查詢實現代碼的文章就介紹到這瞭,更多相關MyBatis map模糊查詢內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: