MyBatis中map的应用与模糊查询实现代码

 更新时间:2021年11月08日 10:26:56   作者:\u674e\u80b2\u6b22  
这篇文章主要介绍了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模糊查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用maven基本命令,打包包名问题

    使用maven基本命令,打包包名问题

    这篇文章主要介绍了使用maven基本命令,打包包名问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • java中1+1d/5和1+1/5的区别说明

    java中1+1d/5和1+1/5的区别说明

    这篇文章主要介绍了java中1+1d/5和1+1/5的区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java学习教程之定时任务全家桶

    Java学习教程之定时任务全家桶

    这篇文章主要给大家介绍了关于Java学习教程之定时任务全家桶的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 浅谈Spring框架中@Autowired和@Resource的区别

    浅谈Spring框架中@Autowired和@Resource的区别

    最近review别人代码的时候,看到了一些@Autowired不一样的用法,觉得有些意思,下面这篇文章主要给大家介绍了关于Spring框架中@Autowired和@Resource区别的相关资料,需要的朋友可以参考下
    2022-10-10
  • Mybatis的核心配置文件使用方法

    Mybatis的核心配置文件使用方法

    Mybatis的核心配置文件有两个,一个是全局配置文件,它包含了会深深影响Mybatis行为的设置和属性信息;一个是映射文件,它很简单,让用户能更专注于SQL代码,本文主要介绍了Mybatis的核心配置文件使用方法,感兴趣的可以了解一下
    2023-11-11
  • Java装饰者模式实例详解

    Java装饰者模式实例详解

    这篇文章主要介绍了Java装饰者模式,结合实例形式详细分析了装饰着模式的原理与java具体实现技巧,需要的朋友可以参考下
    2017-09-09
  • java程序中的延时加载异常及解决方案

    java程序中的延时加载异常及解决方案

    这篇文章主要介绍了java程序中的延时加载异常及解决方案,需要的朋友可以参考下
    2015-02-02
  • 一文带你学会Java中ScheduledThreadPoolExecutor使用

    一文带你学会Java中ScheduledThreadPoolExecutor使用

    ScheduledThreadPoolExecutor是Java并发包中的一个类,同时也是 ThreadPoolExecutor的一个子类,本文主要为大家介绍一下ScheduledThreadPoolExecutor使用,需要的可以参考下
    2024-12-12
  • java基于正则提取字符串中的数字功能【如提取短信中的验证码】

    java基于正则提取字符串中的数字功能【如提取短信中的验证码】

    这篇文章主要介绍了java基于正则提取字符串中的数字功能,可用于提取短信中的验证码,涉及java基于正则的字符串匹配相关操作技巧,需要的朋友可以参考下
    2017-01-01
  • 手把手带你理解java线程池之工作队列workQueue

    手把手带你理解java线程池之工作队列workQueue

    这篇文章主要介绍了java线程池之工作队列workQueue,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论