首页 > 其他分享 >Mybatis查询

Mybatis查询

时间:2023-05-19 17:16:16浏览次数:36  
标签:username map userid 查询 user 使用 Mybatis

查询

查询的数据为单条实体类

使用实体类进行接受即可,或者使用list,map接口均可.后面两者比较浪费

  1. 使用实体类接受

mapper接口:


 User selectUserById(int userid);

映射文件:使用实体类



    <!--第二个一致,对应方法名    User selectUserById(int userid); -->
  <select id="selectUserById" resultType="user">
        select * from user where userid=#{userid}
  </select>

  1. 使用Map接收

mapper接口:

Map<String ,Object> selectUserById2(@Param("userid")int userid);

映射文件:

<!--    Map<String ,Object> selectUserById();-->
    <select id="selectUserById2" resultType="map">
        select * from user where userid=#{userid}
    </select>

调用:以获取UserMapper接口的对象userMapper


Map<String ,Object> map=userMapper.selectUserById2(1);
System.out.println(map.toString());

查询多条数据时

使用list集合接受,或者用list包裹map查询,或者使用map集合+Mapkey("")注解

  1. 使用List集合

mapper接口:


List<User> selectAllUser();

映射文件:

<!--    List<User> selectAllUser();-->
    <select id="selectAllUser" resultType="User">
        select * from user;
    </select>

调用:

//已经获取sqlSession的情况下,创建完Usermapper对象
List<User> list= userMapper.selectAllUser();
        for (User user:list) {
            System.out.println(user);
        }

  1. 使用map+Mapkey(""),此时将注解中的属性作为map的key,其余属性作为值

mapper接口:


    @MapKey("userid")//使用userid作为键,其余属性为值
   Map<String,Object> selectAllUser2();

映射文件:

    <!-- Map<String,Object> selectAllUser2();-->
<select id="selectAllUser2" resultType="map">
    select * from user;
</select>

调用:


 Map<String ,Object> map2=userMapper.selectAllUser2();
        System.out.println(map2.toString());

查询单个数量

mapper接口:

int selectCount();

映射文件:

<!--    int selectCount();-->
    <select id="selectCount" resultType="int">
        select count(*) from user;
    </select>

对于基本属性,均提供了其默认的别名可以直接在result Type中使用

模糊查询

mapper接口:这里使用username进行模糊查询


 List<User> selectUserByLikeName( @Param("username") String username);

映射文件:这里可以使用三种方式,第一种是使用${},因为#{}无法在单引号中使用,要么使用concat()进行拼接+#{},或者使用双引号的方式括住%,常用第三种

<!--    List<User> selectUserByLikeName( @Param("username") String username);-->
    <select id="selectUserByLikeName" resultType="User">
<!--         select * from user where username like '%${username}%' -->
<!--         select * from user where username like concat('%',#{username},'%') -->
           select * from user where username like "%"#{username}"%"
  </select>

标签:username,map,userid,查询,user,使用,Mybatis
From: https://www.cnblogs.com/cyqf/p/17163158.html

相关文章

  • js 使用 eval 函数优化条件查询
    我们在写代码的使用,经常会遇到ifelse很长很长的代码,这种要怎么优化,一直是仁者见仁智者见智的我说下我的优化方案原始代码例如:if(income<=10000){ returnincome*0.365;}elseif(income<=30000){ return(income-10000)*0.2+35600;}elseif(income<=60000)......
  • 12-DSL查询语法-精准查询
    精确查询一般是查找keyword、数值、日期、boolean等类型字段。不会对搜索条件分词。常见的有:(1)term:根据词条精确值查询 (2) range:根据值的范围查询term查询因为精确查询的字段搜是不分词的字段,因此查询的条件也必须是不分词的词条。查询时,用户输入的内容跟自动值完......
  • SQL server 备份job堵塞查询
    SELECTreq.session_id,database_name=db_name(req.database_id),req.status,req.blocking_session_id,req.command,[sql_text]=Substring(txt.TEXT,(req.statement_start_offset/2)+1,((CASEreq.statement_end_offsetWHEN-1THENDatalength(txt.TEXT)......
  • 老杜MyBatis框架从入门到精通(三)使用MyBatis完成CRUD
    mybatis做为目前国内最为流行的开源orm框架,我们平时在使用时会感受到其带来的诸多便利,但是很少去深入分析,mybatis源码代码量不多,功能丰富,是一个很好的学习样例,本系列文章就和大家一起来学习mybatis框架本系列笔记根据动力节点B站上老杜讲的mybatis教程整理~学习地址:https://www......
  • react-query-builder查询构建器中文文档
    简介react-query-builder是一个React组件库,用于构建可配置的查询构建器。使用react-query-builder,您可以轻松地构建复杂的查询表单,使用户能够以直观的方式构建和执行查询。以下是一些常见的用例:构建高级搜索表单,允许用户根据不同的条件搜索数据。在数据可视化应用程序中使用......
  • C++实现查询本机信息并且上报
    业务需求共享文件夹、盘会导致系统安全性下降,故IT部门需要搜集公司中每台电脑的共享情况,并且进行上报关键字WMI查询、Get请求、C++网络库mongoose前置需要1、简单C++语法知识2、mongoose库的导入3、C++项目的启动代码复制并不能直接使用,需导入mongoose库完整github项目代码......
  • SqlServer查询锁表及解锁
    --查询锁表进程selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableNamefromsys.dm_tran_lockswhereresource_type='OBJECT'--解锁进程declare@spidintSet@spid=162--锁表进程declare@sqlvarchar(1000)set@sql='kill......
  • Mybatis和Mybatis-Plus对MySQL中json类型处理
    目录1MySQL中json类型处理1.1引言1.2准备建表1.3Mybatis1.3.1实体类1.3.2BaseTypeHandler1.3.3application.yml1.3.4修改SQL文件1.4MybatisPlus1.4.1实体类1.4.2application.yml1.4.3SQL文件1MySQL中json类型处理1.1引言mysql5.7开始支持json类型字段点击了解M......
  • 聊聊Mybatis集成Spring的原理
    一般都是研究框架源码,我为什么要反过来研究集成原理呢?在我自己看来,集成虽然比较简单,但要求的细节比较多,需要掌握根本性的东西才能做到集成。Mybatis集成Spring用到了FactoryBean以及BeanDefinition注册的原理,从这两个维度来实现集成,而我们单独学习Spring时,一般会忽略这两点。My......
  • es笔记五之term-level的查询操作
    本文首发于公众号:Hunter后端原文链接:es笔记五之term-level的查询操作官方文档上写的是term-levelqueries,表义为基于准确值的对文档的查询,可以理解为对keyword类型或者text类型分词为keyword的字段进行term形式的精确查找。以下是本篇笔记目录:是否存在值前缀搜索......