Mybatis之map操作使用者和模糊查詢擴充套件

qq_48608598發表於2020-12-06

通過map操作使用者,過程基本相同,但map的key可以不用與user的屬性名一致。
假設我們的實體類或者資料庫中的表,欄位引數過多,我們可以適當的使用map。
1.介面程式碼

 //通過map新增使用者
    int addUser2(Map<String,Object> map);

2.Mapper.XML程式碼

<!--    物件中的屬性可以直接取出來,通過map的key傳遞-->
    <insert id="addUser2" parameterType="Map">
    insert into user (username,password,phone)values (#{username},#{password},#{phone})
    </insert>

3.測試

@Test   //通過map增加使用者
    public void addUser2(){
        //增刪改需要提交事務
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        Map <String,Object>map =new HashMap<String,Object>();
        map.put("username","溜溜球");
        map.put("password","5dsnjkj");
        map.put("phone","145265354789");
        int i = mapper.addUser2(map);
        System.out.println(i>0);
        //必須提交事務!!!!!!
        sqlSession.commit();
        sqlSession.close();
    }

模糊查詢:
1.介面程式碼

//模糊查詢
    List<User> getuserLikelist(String value);

2.Mapper.XML程式碼

<!--    模糊查詢-->
    <select id="getuserLikelist" resultType="com.wei.entity.User">
        select * from user where username like #{value}
    </select>

3.測試

@Test  //模糊查詢
    public void getuserLikelist(){
        SqlSession sqlSession = MybatisUtil.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> getuserlist = mapper.getuserLikelist("%admin%");
        for (User user:getuserlist){
            System.out.println(user);
        }
        sqlSession.close();
    }

相關文章