SpringBoot项目中mybatis实现数据的基本查询

本章内容概述:

  • mapper 查询 xml 文件基本使用
  • 通过 mybatis 实现一条数据的查询

1 用户数据表

2 用户信息对应的实体类

package com.example.demo.bean;import java.io.Serializable;public class UserBean  implements Serializable {private int id;private String userName;private String realName;private int age;///set get 方法省略
}

3 创建查询对应的mapper文件

这里使用了 @Mapper,我们可以认为这是 Mybatis 自动配置时, 默认扫描的注解类。

package com.example.demo.dao;import com.example.demo.bean.UserBean;
import org.apache.ibatis.annotations.Mapper;@Mapper
public interface UserDao {//根据用户的 id 来查询用户的基本信息UserBean selectUserFormId(int id);
}

UserDao 对应的 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.example.demo.dao.UserDao"><resultMap id="userBean" type="com.example.demo.bean.UserBean"><result property="id" jdbcType="INTEGER" column="id"/><result property="userName" jdbcType="VARCHAR" column="user_name"/><result property="age" jdbcType="INTEGER" column="age"/><result property="realName" jdbcType="VARCHAR" column="realname"/></resultMap><select id="selectUserFormId" resultMap="userBean">select *from tb_userwhere id = #{id}</select></mapper>
  • mapper 标签中的 namespace 用来填写映射当前的Mapper接口
  • resultMap可以将查询到的复杂数据映射到一个结果集当中(例如这里的UserBean)
  • select 标签是用来执行查询条件的

4 执行单元测试进行查询

import com.example.demo.bean.UserBean;
import com.example.demo.dao.UserDao;
import com.example.demo.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class DemoApplicationTests {@Autowiredpublic UserDao userDao;@Testvoid contextLoads() {// 通过mybatis 查询一条用户信息UserBean userBean = userDao.selectUserFormId(3);//控制台输入System.out.println(userBean.toString());}}

执行单元测试后,控制台输出用户信息,查询成功

5 总结

使用 mybatis 查询到一条简单的数据,我们只需要做到:

  • 1 创建对应数据的实体类
  • 2 创建查询对应的接口实体
  • 3 创建查询对应的 Mapper.xml

本小节完结 如有疑问可回复评论

springboot项目中mybatis实现数据的基本查询相关推荐

  1. 【SpringBoot项目中使用Mybatis批量插入百万条数据】

    SpringBoot项目中使用Mybatis批量插入百万条数据 话不多说,直接上代码,测试原生批处理的效率 开始测试 背景:因为一些业务问题,需要做多数据源,多库批量查询.插入操作,所以就研究了一下. ...

  2. 基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率

    基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率 1.拉取logstash,kibana,es,mysql镜像 #命令 ...

  3. oracle和mybatis自增,在Springboot项目中使用MybatisPlus和Oracle实现主键ID的自增

    在Springboot项目中使用MybatisPlus和Oracle实现主键ID的自增 发布时间:2020-11-18 15:49:35 来源:亿速云 阅读:125 作者:Leah 在Springbo ...

  4. 使用IDEA在SpringBoot项目中连接数据库

    使用IDEA在SpringBoot项目中连接数据库 文章目录 使用IDEA在SpringBoot项目中连接数据库 前言 连接数据库 正常操作数据库 移除数据库连接 前言 每次我在 IDEA 中用 Sp ...

  5. SpringBoot项目中遇到的BUG

    1.启动项目的时候报错 1.Error starting ApplicationContext. To display the auto-configuration report re-run you ...

  6. springboot项目整合mybatis

    SpringBoot项目整合mybatis 本章内容 使用 idea创建 SpringBoot项目 SpringBoot项目中配制 mybatis 框架 1 创建 SpringBoot项目 1.1 在 ...

  7. pycharm项目中如何安装包_如何将Thymeleaf技术集成到SpringBoot项目中

    给天气预报一个"面子" 截至目前,不仅有了天气预报的API接口,也有了数据的缓存方案.现在,就要进行天气预报服务的实现,也就是说,这里需要一个面向用户的应用.这个应用应该拥有友好的 ...

  8. java spring 数据库_JAVA - SpringBoot项目引用MyBatis操作数据库

    JAVA - SpringBoot项目引用MyBatis操作数据库 添加POM依赖: org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.1 ...

  9. 关于webservice服务在springboot项目中的开发的介绍

    在springboot项目中搭建webservice服务端及使用客户端进行请求的介绍 一.引包 二.搭建webservice服务 (一)使用CXF搭建webservice服务 (二)webservic ...

最新文章

  1. 机器学习第10天:模型评价方法及代码实现
  2. cal css,CSS calc计算属性
  3. androidsettitle方法_Android 去掉title bar的3个方法
  4. oracle设为归档模式,设置oracle归档模式
  5. org.springframework.mail.MailAuthenticationException: Authentication failed 解决方案
  6. B树和B+树详细解析
  7. HDU 4990 Reading comprehension
  8. L1-027 出租 (20 分)—团体程序设计天梯赛
  9. 《圈子圈套2》—— 读后总结
  10. 我的团长我的团第十四集
  11. 翻译狗文档免费下载手册(补充版)
  12. 基于Arduino的智能家居系统设计
  13. Axis1.4发布WebService
  14. idea 将分支代码合并到master分支
  15. 解决ORA-01111, ORA-01110, ORA-01157
  16. netty案例,netty4.1源码分析篇五《一行简单的writeAndFlush都做了哪些事》
  17. 预算不是很充足,但想体验到顶级旗舰机?建议看看去年的旗舰
  18. Java工程师必备书单
  19. android.win论坛,Android中的WIN DEATH错误?
  20. 菜鸟的数学建模之路(四):BP神经网络

热门文章

  1. 所有科研人都应该收藏的论文下载网站,不是sci-hub!
  2. 《长安十二时辰》中的跨域行人重识别问题
  3. 人脸识别中Softmax-based Loss的演化史
  4. 别再谈Python2与Python3区别, 反正我一个按钮随意转换代码!
  5. 年薪十万的王者荣耀,LOL游戏模型师的工作是这样的|附50G资料
  6. 只需单插槽的空间,即可拥有极致的视觉计算性能
  7. 神经网络瘦身:SqueezeNet
  8. 自动驾驶车辆转向控制(通过扭矩控制实现方向盘转角控制)
  9. 关于分辨率和地图打印的一些问题
  10. java 事务管理 子父线程_Java中的父线程与子线程