Mybatis多参数封装到map中,多条件查询

1.UserMapper接口

package com.william.dao;import com.william.domain.QueryValueObject;
import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 多参数封装到map中,多条件查询* @param map* @return*/List<User> findByConditionByMap(HashMap<String, Object> map);}

2.UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.william.dao.UserMapper"><!--多参数封装到map中,多条件查询--><select id="findByConditionByMap" parameterType="map" resultType="user">select * from user where username like "%"#{username}"%" and sex=#{sex}limit #{startIndex},#{pageSize}</select>
</mapper>

3.TestCrud测试类

package com.william;import com.william.dao.UserMapper;
import com.william.domain.QueryValueObject;
import com.william.domain.User;
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.Test;import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;/*** @author :lijunxuan* @date :Created in 2019/7/12  10:16* @description :* @version: 1.0*/
public class TestCrud {/*** 多参数封装到map中,多条件查询* @throws IOException*/@Testpublic void findByConditionByMap() throws IOException {InputStream inputStream = Resources.getResourceAsStream("Mybatis-configuration.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();//获取某接口的动态代理对象(获取某接口的一个实现类)UserMapper userMapper = sqlSession.getMapper(UserMapper.class);QueryValueObject queryValueObject = new QueryValueObject();HashMap<String, Object> map = new HashMap<>();map.put("username","a");map.put("sex","男");map.put("startIndex",0);map.put("pageSize",6);List<User> userMapperByConditionByMap = userMapper.findByConditionByMap(map);for (User user1 : userMapperByConditionByMap) {System.out.println(user1);}sqlSession.close();}
}

4.测试结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jax-rs配置_具有MicroProfile配置的可配置JAX-RS ExceptionMapper

jax-rs配置当使用JAX-RS创建REST服务时&#xff0c;通常不返回任何内容&#xff08;例如HTTP 201/2/4等&#xff09;或某些数据&#xff08;可能采用JSON格式&#xff08;因此HTTP 200&#xff09;&#xff0c;或者返回某些异常/错误&#xff08;因此HTTP 4xx或5xx&#xff09;…

MySQL数据库修改用户登录密码的三种方式

文章目录一、更新 mysql.user 表二、用 set password 命令三、使用 mysqladmin 命令提醒&#xff1a;MYSQL5.7 版本后不再支持password()函数和password字段。 一、更新 mysql.user 表 mysql> use mysql; mysql> update user set passwordpassword(123456) where userr…

Mybatis多条件直接查询

1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 根据多条件直接查询* param username* param sex* param startIndex* param pageSize* re…

java 正在验证应用程序_Java应用程序中的验证

java 正在验证应用程序我经常看到的项目几乎没有任何有意识的数据验证策略。 他们的团队在截止日期&#xff0c;明确要求的巨大压力下工作&#xff0c;只是没有足够的时间以适当且一致的方式进行验证。 因此&#xff0c;数据验证代码随处可见&#xff1a;JavaScript片段&#x…

Mybatis多条件直接查询Param注解版

1.UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 多条件直接查询Param注解版* param username* param sex* param startIndex* param pageS…

WPS for MacOS如何设置自动句首字母大写

在顶部菜单栏&#xff0c;点击【文件】–>【文字偏好设置】或者点击左上角的【文件】–>【文字偏好设置】&#xff1a;

java 和javafx_Java,JavaFX的流利设计风格文本字段和密码字段

java 和javafx我刚刚发布了Java版本4.5 &#xff0c;JavaFX主题JMetro 。 此版本为“文本字段”和“密码字段”添加了新样式。 和往常一样&#xff0c;受到Fluent Design的启发。 在这篇文章中&#xff0c;我将详细介绍这个新版本。 JMetro版本4.5 就像我在简介中所说的那样&…

WPS for MacOS如何设置自动编号

在顶部菜单栏&#xff0c;点击【文件】–>【文字偏好设置】或者点击左上角的【文件】–>【文字偏好设置】&#xff1a;

Mybatis结果集映射

一、使用场景 当数据库里的列名和实体类的属性名不一致&#xff0c;就需要进行结果映射 二、UserMapper接口 package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User; import org.apache.ibatis.annotations.Param;import …

activemq 性能测试_ActiveMQ性能测试

activemq 性能测试我们使用ActiveMQ作为消息传递层–发送大量需要低延迟的消息。 通常它可以正常工作&#xff0c;但是在某些情况下我们已经看到性能问题。 在花了太多时间测试我们的基础结构之后&#xff0c;我想我已经学到了有关ActiveMQ的一些有趣的东西&#xff1a;它可能真…

WPS for MacOS如何设置自动拼写检查

在顶部菜单栏&#xff0c;点击【文件】–>【文字偏好设置】或者点击左上角的【文件】–>【文字偏好设置】&#xff1a;

jdk8 bug_JDK Bug系统浪费时间

jdk8 bug当我在OpenJDK jdk-dev邮件列表中看到Jesper Wilhelmsson的消息标题“ Introducing time浪费者 ”时&#xff0c;我想到了该消息的可能内容的几种可能性。 在阅读该链接与单击链接后出现消息之间的第二个左右时间内 &#xff0c;我想知道消息是否与以下主题之一有关&am…

角度和弧度的计算关系

一、角的两种单位 “ 弧度”和“度”是度量角大小的两种不同的单位。就像“米”和“市尺”是度量长度大小的两种不同的单位一样。 二、弧度的定义 角&#xff08;弧度&#xff09;&#xff1d;弧长/半径 圆的周长是半径的 2π倍&#xff0c;所以一个周角&#xff08;360度&a…

关键字搜索

1.1.1 需求分析 在首页或搜索页输入关键字&#xff0c;点击搜索 显示列表搜索结果&#xff1a; 1.1.2实现思路 &#xff08;1&#xff09;后端使用匹配查询和布尔查询 &#xff08;2&#xff09;前端向后端传递map&#xff08;因为提交的不仅仅是关键字&#xff0c;还有品牌…

java中线程死锁及避免_如何避免Java线程中的死锁?

java中线程死锁及避免如何避免Java中的死锁&#xff1f; 是Java面试中最受欢迎的问题之一&#xff0c;也是本季多线程的风格&#xff0c;主要是在高层提出&#xff0c;并带有很多后续问题。 尽管问题看起来很基础&#xff0c;但是一旦您开始深入研究&#xff0c;大多数Java开发…

MySQL查询数据字典_存储过程_函数_视图元数据_表元数据_触发器

文章目录一、查询所有的存储过程二、查询某个数据库下的存储过程三、查询所有的函数四、查询某个数据库下的函数五、查看存储过程详情六、查看函数详情七、查看存储过程的创建源码八、查看函数的创建源码九、查看视图元数据十、查看表元数据十一、查看触发器一、查询所有的存储…

关键字高亮查询

1.1.1 需求分析 所谓高亮&#xff0c;就是使用特别的样式修饰某字段中包含的搜索关键字。 需求&#xff1a;实现搜索高亮&#xff0c;商品名称使用红色显示搜索关键字。 1.1.2实现思路 使用默认高亮显示来获取每个搜索命中title字段的高亮显示&#xff0c;在指定title字段的…

jep和jsr_JEP 342:JVM和幽灵

jep和jsrJEP 342 &#xff08;“限制推测执行”&#xff09;已从“ 草稿 ”状态转换为“ 候选 ”状态&#xff0c;但尚未针对特定的JDK版本&#xff08;请参见图形以了解JEP流程中的步骤 &#xff09;。 Jesper Wilhelmsson 写道 &#xff0c; JEP 342 “涵盖了使用新的C 编译器…

执行SQL脚本文件

文章目录一、登录数据库后&#xff0c;执行命令 source二、未登录数据库&#xff0c;执行命令 mysql一、登录数据库后&#xff0c;执行命令 source mysql> source /root/test/test.sql;二、未登录数据库&#xff0c;执行命令 mysql [roothtlwk0001host ~]# mysql -uroot -…