ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MyBatis中map的应用&&模糊查询

2021-11-07 16:02:35  阅读:146  来源: 互联网

标签:map Map UserMapper userMapper sqlSession user && MyBatis


文章目录


1.MyBatis中map的应用

1.1.应用场景

假设,实体类,或者数据库中的表,字段或者参数过多,应当考虑使用Map!!!

2.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();
        }

    }

标签:map,Map,UserMapper,userMapper,sqlSession,user,&&,MyBatis
来源: https://blog.csdn.net/liyuuhuvnjjv/article/details/121192299

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有