mybatis-parameterType传入map条件方式

 更新时间:2023年12月04日 10:06:31   作者:冰雪奇缘lb  
这篇文章主要介绍了mybatis-parameterType传入map条件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mybatis parameterType传入map条件

mapper类(dao层)

package com.gyf.mapper;

import com.gyf.model.User;
import com.gyf.vo.UserQueryVO;
import java.util.List;
import java.util.Map;

public interface UserMapper {
    public List<User> findUserByMap(Map<String, Object> map);
}

userMapper.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gyf.mapper.UserMapper">
    <select id="findUserByMap" parameterType="hashmap" resultType="user">
        SELECT u.* FROM user u
        WHERE username like '%${username}%' and sex = #{sex}
    </select>
</mapper>

测试类

package com.gyf.test;

import com.gyf.mapper.UserMapper;
import com.gyf.model.User;
import com.gyf.vo.UserQueryVO;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Demo05 {

    SqlSession session;

    @Before
    public void before() throws IOException {
        //读取配置文件
        InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
        //通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        session = sessionFactory.openSession();
    }

    @After
    public void after(){
        session.close();
    }
    
    @Test
    public void test2() throws IOException {
        //查找用户
        //通过session拿到接口的代理,代理可以直接转为接口
        UserMapper userMapper = session.getMapper(UserMapper.class);
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("username","张");
        map.put("sex","1");
        List<User> users =  userMapper.findUserByMap(map);
        System.out.println(users);
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JVM GC垃圾回收算法使用及说明

    JVM GC垃圾回收算法使用及说明

    文章详细讨论了JVM的垃圾回收算法,包括标记-清除、复制算法、标记-整理以及分代收集,每种方法的执行流程、优缺点以及适用场景都有详尽说明,此外,还介绍了可达性算法作为JVM垃圾回收的核心机制,解释了如何确定对象是否存活
    2025-10-10
  • 基于logback.xml不生效问题的解决

    基于logback.xml不生效问题的解决

    这篇文章主要介绍了基于logback.xml不生效问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Java对象传递与返回的细节问题详析

    Java对象传递与返回的细节问题详析

    我们知道这是一个核心概念,在Java中总是按值传递而不是按引用传递,下面这篇文章主要给大家介绍了关于Java对象传递与返回的细节问题的相关资料,需要的朋友可以参考下
    2022-11-11
  • 重新生成.iml和.idea文件实现方式

    重新生成.iml和.idea文件实现方式

    这篇文章主要介绍了重新生成.iml和.idea文件实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • Java中LinkedList详解和使用示例_动力节点Java学院整理

    Java中LinkedList详解和使用示例_动力节点Java学院整理

    LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。接下来通过示例代码给大家详细介绍java中linkedlist的使用,需要的朋友参考下吧
    2017-05-05
  • Java编程中的vector类用法学习笔记

    Java编程中的vector类用法学习笔记

    Vector通常被用来实现动态数组,即可实现自动增长的对象数组,和C++一样vector类同样被Java内置,下面就来看一下vector类的基本用法.
    2016-05-05
  • mybatis如何根据表逆向自动化生成代码实例

    mybatis如何根据表逆向自动化生成代码实例

    逆向工程是一个专门为 MyBatis 框架使用者设计的代码生成器,可以根据数据库中的表字段名,自动生成 POJO 类,mapper 接口与 SQL 映射文件,这篇文章主要给大家介绍了关于mybatis如何根据表逆向自动化生成代码的相关资料,需要的朋友可以参考下
    2021-08-08
  • Java列表元素自定义排序方式

    Java列表元素自定义排序方式

    文章介绍了在Java开发中如何对列表元素进行自定义排序,通过实现`Comparator`接口并重写`compare`方法来指定自定义排序规则,示例展示了如何对汉字数字进行排序,并通过改变自定义顺序列表的元素添加顺序来实现倒序排序
    2024-12-12
  • IntelliJ IDEA使用教程从入门到上瘾(2019图文版)

    IntelliJ IDEA使用教程从入门到上瘾(2019图文版)

    这篇文章主要介绍了IntelliJ IDEA使用教程从入门到上瘾(2019图文版),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Java 关于String字符串原理上的问题

    Java 关于String字符串原理上的问题

    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串,让我们一起来了解它
    2022-04-04

最新评论