上一次讲到,使用MyBatis查询所有的数据,没有用到接口里的方法。

这一次我们补充一下,使用接口方法,传入参数查询数据。

首先根据上一次的代码进行增加:

(22条消息) 最详细的MyBatis构建,极其细腻教学。建议入门操作_小肖在路上的博客-CSDN博客

修改接口:

public interface userMapper {User selectUserId(int id);
}

就纯粹的加入一个带参数的查询方法就可以了。

然后我们更改一下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"><!-- namespace :对应的mapper接口 -->
<mapper namespace="com.quxiao.mybatis.mapper.userMapper"><!--id : 对应接口的方法名称.--><select id="selectUserId" resultType="com.quxiao.mybatis.pojo.User" parameterType="int">select * from bus.user where id=#{id}</select>
</mapper>

这里的查询条件的参数在xml中使用:#{id}

id只是一个标识名字,可以更改,尽量见名知意。

然后测试内也改一下:

    @Testpublic void testSelectAll() {SqlSession session = sqlSessionFactory.openSession();try {
//            List<User> userList = session.selectList("selectAll");
//            userList.stream()
//                    .forEach(x -> System.out.println(x));userMapper userMapper = session.getMapper(userMapper.class);User user = userMapper.selectUserId(1);System.out.println(user);} finally {session.close();}}

将原来查询代码注销掉,本次的查询返回是一个实体类,不需要用list存储。

然后就是多表查询:

这里我们要创建另一张表的实体类:

然后添加多表查询的接口方法:

加入MyBatis查询语句:

然后就可以啦,运行和上一个一模一样。更改接收类型就好了。。。

看到这里,大家一定回想,如果我想把两张表都接受到咋办呢??

所以我们就在两个实体类另一个实体类中放入User:

这样我们就可以存入啦~~

然后就是一个在写MyBatis的sql时有一个知识点:

这里可以直接使用user.name存入,因为MyBatis时反射机制,就算user的name是私有的,也可以存入噢。

然后就直接输出就好了:

MyBatis指定查询类容、多表查询相关推荐

  1. Mybatis(第二篇:联表查询)

    Mybatis(第二篇:联表查询) 目录 Mybatis(第二篇:联表查询) 一.前期 项目的搭建 1.数据库 2.IDEA项目架构搭建 2.1 pom.xml 2.2 domain包 2.2.1 D ...

  2. 笔记:3.4 《数据库系统概论》之数据查询---SELECT(单表查询、连接查询、嵌套查询、集合查询、多表查询)

    对 3.2 数据查询-SELECT(单表查询.连接查询.嵌套查询.集合查询.多表查询)的转载与学习笔记: 0.前言 本篇文章是对<数据库系统概论>王珊老师主编的数据库查询SELECT部分做 ...

  3. case when 子查询_Oracle数据库-单表查询

    本章涉及单张表中的查询语句,包含常用的条件查询.范围查询.模糊查询等,跨表查询后续将会介绍. 1.基本查询语句 格式:SELECT[DISTINCT] column_name,-|* FROM tab ...

  4. mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...

    1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是 ...

  5. Springboot,Mybatis根据实体类自动建表

    Springboot,Mybatis根据实体类自动建表 在创建实体类的同时还要在数据库建表,如果只是很少的属性那么无所谓,但是当实体类很多或者字段很多时这就是一个非常让人不爽的事情了 通常有两种思路, ...

  6. mysql单表查询实例_MySQL简单查询详解-单表查询

    MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...

  7. server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...

    4.1.查询的类型 declare @value as int set @value = 50 select  'age:'as age,2008 years,@valueas va --这种查询时跟 ...

  8. MySQL讲义第 33 讲——select 查询之静态交叉表查询

    MySQL讲义第 33 讲--select 查询之静态交叉表查询 文章目录 MySQL讲义第 33 讲--select 查询之静态交叉表查询 一.数据准备 二.交叉表的形式 三.静态交叉表的实现 1. ...

  9. 将联表查询简化为单表查询案例

    目录 1.将联表查询简化为单表查询案例 1.1 问题描述 1.2 优化过程 1.2.1 将联表查询修改为单表查询 1.2.2 利用覆盖索引避免回表 1.将联表查询简化为单表查询案例 1.1 问题描述 ...

  10. mysql数据库操作多表查询_MySQL数据库查询操作进阶——多表查询

    多表查询 在大部分情况下,我们用到的表都是彼此相关联的,所以我们会有相当大的需求用到跨表的查询,这个时候我们就需要将相关联的表连起来做多表查询. 多表查询分为连表查询和子查询,连表查询即将相关联的表连 ...

最新文章

  1. centos 彻底删除nodejs默认安装文件
  2. sealos安装k8s集群注意事项:必须关闭任何形式的http_proxy代理
  3. ASP.NET技术的学习顺序
  4. UVA - 1415 Gauss Prime(高斯素数)
  5. 3.0 go mod之远程仓库搭建-代码示例
  6. 【英语学习】【医学】无机化学 - 化合物命名(2) - 非金属类二元化合物
  7. Java 蓝桥杯 矩阵乘法
  8. SQL学习——小结练习(1)
  9. Linux 相关术语_002
  10. hdu-5645 DZY Loves Balls(水题)
  11. 数字图像处理实验六--图像复原
  12. 理解MeasureSpec
  13. 产品设计中的 “快速迭代” 思维
  14. oracle+rac+ogg部署,RAC环境下配置OGG同步
  15. c语言中while(a)、if(a)、while(!a)、if(!a)、if(%a)是什么意思?
  16. 2022进军阿里P6,6点面试经验总结
  17. Gsensor驱动概述
  18. 揭秘!“真假美猴王事件”其实是如来的一次运维事故
  19. 低腰产品的软文营销之道 如何利用软文引流宣传产品利用软文营销提升低腰产品的知名度 如何打造有效的软文引流策略
  20. html c3效果,使用c3动画实现摇铃铛效果

热门文章

  1. pixy php,Pixy快速入门指南.pdf
  2. 数据库内创建用户失败
  3. 提高劳动力的简单方法
  4. Akka 指南 之「集群指标扩展」
  5. Harbor 清理空间
  6. 官方发布 | BSV区块链协会与CapitalSavvy联合推出区块链创新计划(BIP)
  7. 一款功能强大的倒计时软件RH Timer mac
  8. 机器学习----聚类算法
  9. 用户流失与回归 | Google Play 应用与游戏用户体验指南 (四)
  10. 慌得一逼,Kafka宕机后不再高可用?吓死宝宝了