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

目录
  • 1.MyBatis中map的应用
    • 1.1.应用场景
    • 1.2.具体实现
    • 1.3.注意点!!!
  • 2.模糊查询

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模糊查询内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MyBatis的模糊查询mapper.xml的写法讲解

    目录 MyBatis模糊查询mapper.xml的写法 1.直接传参 2.针对MySQL数据库的语句 3.适用于所有数据库的则采用MyBatis的bind元素 MyBatis在xml中模糊查询的常用的3种方式 MyBatis模糊查询mapper.xml的写法 模糊查询语句不建议使用${}的方式,还是建议采用MyBatis自带的#{}方式,#{}是预加载的方式运行的,比较安全,${}方式可以用但是有SQL注入的风险!!! 1.直接传参 在controller类中 String id = "%&qu

  • MyBatis实现万能Map和模糊查询

    目录 万能Map 模糊查询 万能Map   我们在上一节博文里面将到利用Mybatis实现CRUD操作的时候,我们在数据库表中新增一条数据是这样操作的: 实体类对象的字段有: package com.hpf.bean; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; //编写实体类User @Data @AllArgsConstructor @NoArgsConstruc

  • MyBatis使用Map与模糊查询的方法示例

    当我们的实体类.或者数据库里的表.字段或者参数很多,这个时候考虑使用map 一.使用map传参插入数据 1.编写Dao接口/Mapper层 使用Map做参数 //Dao接口/Mapper层 使用Map传参 int addUser2(Map<String,Object> map); 2.编写Mapper.xml中的sql语句 <!-- 传递map的key--> <insert id="addUser2" parameterType="map&quo

  • 详解Mybatis中万能的Map和模糊查询写法

    1.万能的Map 假设,我们的实体类,或者数据库中的表,字段或参数过多,我们接口参数以前用的是实体类,现在考虑使用下Map! 接口: //万能的Map int addUser2(Map<String,Object> map); mapper.xml: <!--Map中的key--> <insert id="addUser2" parameterType="map"> insert into mybatis.user (id,nam

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

    目录 1.MyBatis中map的应用 1.1.应用场景 1.2.具体实现 1.3.注意点!!! 2.模糊查询 1.MyBatis中map的应用 1.1.应用场景 假设,实体类,或者数据库中的表,字段或者参数过多,应当考虑使用Map!!! 1.2.具体实现 //万能map int addUser2(Map<String,Object> map); <!--对象中的属性,可以直接取出来 parameterType=传递map中的key--> <insert id="a

  • 对Django项目中的ORM映射与模糊查询的使用详解

    ORM映射 什么是ORM映射?在笔者认为就是对SQL语句的封装,所写语句与SQL对应语句含义相同,使开发更加简单方便,不过也是存在弊端的,使程序运行效率下降.例如: UserInfo.objects.get(id=2) 等于 select * from user_userinfo where id=2 修改管理器(models.py) 导入新的包:from django.db import models 进行模糊查询 开始进行查找前我们先来认识filter()方法. 这是一个过滤器方法用于过滤掉

  • MongoDB多条件模糊查询示例代码

    前言 模糊查询是数据库的基本操作之一,实现对给定的字符串是否与指定的模式进行匹配.如果字符完全匹配,可以用=等号表示,如果部分匹配可认为是一种模糊查询.在关系型数据中,通过SQL使用like '%fens%'的语法.那么在mongodb中我们应该如何实现模糊查询的效果呢. 查询条件 关键字 说明 $or 或关系 $nor 或关系取反 $gt 大于 $gte 大于等于 $lt 小于 $lte 小于等于 $ne 不等于 $in 在多个值范围内 $nin 不在多个值范围内 $all 匹配数组中多个值

  • 利用MyBatis进行不同条件的like模糊查询的方法

    之前一直是用MyBatis进行SQL查询时,一般都是用Generator逆向生产的代码来进行查询. 现在遇到了一个业务问题,我们需要进行对不同的条件分别进行模糊查询,首先我想到的就是根据对需要进行模糊查询的字段进行判断,然后调用Example的方式进行查询条件的注入. 对于String类型的数据可以有Like查询这个方法,但是Integer或者Long这种数据类型的话就没有了,得需要自己动手写. 但是呢,我利用Generator生成的代码Example方式进行模糊查询时确无法实现,原因不太清楚,

  • c# GridControl的模糊查询实现代码

    如上图所示,如果查询供应商名称包括机械的公司,正常设置是不可以的,只能从头开始筛选: 方法1: 以下是以为网名为[不是小宽]的网友发给我的完美解决方案,我在此贴出来,大家可以共同学习: /// <summary> /// 设置girid为每一列都模糊搜索 /// </summary> /// <param name="gdv"></param> public static void SetFilter( DevExpress.XtraGr

  • 详解MyBatis模糊查询LIKE的三种方式

    模糊查询也是数据库SQL中使用频率很高的SQL语句,使用MyBatis来进行更加灵活的模糊查询. 直接传参法 直接传参法,就是将要查询的关键字keyword,在代码中拼接好要查询的格式,如%keyword%,然后直接作为参数传入mapper.xml的映射文件中. public void selectBykeyWord(String keyword) { String id = "%" + keyword + "%"; String roleType = "

  • springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能

    完整案例: SpringBoot + laypage分页 + 模糊查询 完整案例 下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能,内容如下所示: 调用接口Controller类 @ApiOperation("查询列表") @PostMapping("/selectList") public Result selectList(@RequestBody User_InfoListRequest us

  • 浅谈MySQL模糊查询中通配符的转义

    sql中经常用like进行模糊查询,而模糊查询就要用到百分号"%",下划线"_"这些通配符,其中"%"匹配任意多个字符,"_"匹配单个字符.如果我们想要模糊查询带有通配符的字符串,如"60%","user_name",就需要对通配符进行转义,有两种方式.如下:   1.反斜杠是转义符,通过反斜杠来转义%,使其不再是通配符.这里第一个%是通配符,第二个%不是通配符. select perc

  • Mybatis 实现一个搜索框对多个字段进行模糊查询

    1.问题描述: 最近项目需要提供一个搜索框对多个字段进行模糊查询的操作代替下拉列表选择单个字段条件进行模糊查询的操作. 2.解决办法: 之前的四个条件的模糊查询代码 <if test="featureCode != null"> AND plm_model_option.feature_code= #{featureCode} </if> <if test="featureName != null"> AND plm_featur

  • mybatis中映射文件(mapper)中的使用规则

    目录 一.增删改 1.增加 2.删除 3.更新 二.传入参数处理 1.单个参数 2.多个参数 3.参数中有Collection(List.Set) 类型或者是数组 4.参数封装成数据模型 5.parameterType 配置 参数 三.查询 1.模糊查询 2.#{}与${}的区别 3.返回属性为resultType 4.返回属性为resultMap 一.增删改 1.增加 <!-- 添加用户--> <insert id="saveUser" parameterType=

随机推荐