MyBatis的使用方法

文章目录

    • 一、MyBatis的创建
      • 准备工作
    • 二、MyBatis的使用
      • 1.项目分层
      • 2.业务代码
        • 1)使用XML的方法
        • 2)直接使用注解
      • 总结

一、MyBatis的创建

准备工作

1.添加依赖

  • 旧项目

方法一:在pom.xml中添加MyBatis和MySQL Diver依赖

<!-- 添加 MyBatis 框架 -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version>
</dependency>
<!-- 添加 MySQL 驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version><scope>runtime</scope>
</dependency>

方法二:使用插件EditStarts。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 新项目
    新建一个Spring Boot项目,添加两个引用。
    在这里插入图片描述
  1. 配置连接字符串和MyBatis
    在配置文件application.properties中增加配置连接字符串和MyBatis 中的 XML 路径(最主要)。
#1.设置数据库的相关连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xc_blog_system?characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#2.Mybatis XML存放路径和命名格式
mybatis.mapper-locations=classpath:mybatis/*Mapper.xml
#3.配置Mybatis执行时打印SQL(可选配置)
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.com.example.demo=debug

在resources目录下创建一个mybatis文件夹。
在这里插入图片描述

二、MyBatis的使用

1.项目分层

在这里插入图片描述
在新创建的项目中,添加controller,service,mapper·,model层。
在这里插入图片描述

2.业务代码

需求分析:我们需要对数据库xc_blog_system的user表进行一个简单的查询。

1)使用XML的方法

为了方便使用,可以安装一个MybatisX插件。
在这里插入图片描述

  1. 创建UserMapper接口,使用注解@Mapper。
    在这里插入图片描述
  2. 在mybatis目录下,新建一个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.UserMapper">
  1. 创建对应user表的实体类User。
    在这里插入图片描述
    在这里插入图片描述

  2. 创建方法
    在UserMapper接口里创建查询整张user表的方法:
    在这里插入图片描述

  3. 具体方法实现
    在UserMapper.xml中写select语句。

在这里插入图片描述
select 标签:是⽤来执⾏数据库的查询操作的。
id:是和 Interface(接⼝)中定义的⽅法名称⼀样的,表示对接⼝的具体实现⽅法。
resultType:是返回的数据类型,也就是开头我们定义的实体类。

6.编写服务层和控制层代码。

  • 服务层
    在这里插入图片描述

  • 控制层
    在这里插入图片描述
    7.发送请求,查看结果
    在这里插入图片描述
    在这里插入图片描述

2)直接使用注解

不使用XML的方法了,直接在新建的方法上添加一个@Select注解,注解里添加查询语句即可。
在这里插入图片描述

总结

以上就是创建一个MyBatis项目,简单使用的具体步骤了。
祝大家顺顺利利健健康康天天开心,下次见!!!

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

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

相关文章

基于飞桨paddle波士顿房价预测练习模型测试代码

基于飞桨paddle波士顿房价预测练习模型测试代码 导入基础库 #paddle&#xff1a;飞桨的主库&#xff0c;paddle 根目录下保留了常用API的别名&#xff0c;当前包括&#xff1a;paddle.tensor、paddle.framework、paddle.device目录下的所有API&#xff1b; import paddle #Lin…

基于STM32的儿童误锁车内远程报警系统(华为云IOT)

一、项目背景 汽车发展历史汽车自上个世纪末诞生以来,已经走过了风风雨雨的一百多年。汽车经过百年历史的演变,已经在世界各地获得广泛的普及和应用,但是事物总会具有两面性,汽车方便了人们生活的同时也带来了不安全的因素。 儿童的出行和乘车安全始终都是我国现代汽车安…

Sentinel持久化规则

项目中有用到Sentinel,然后需要将Sentinel上配置的规则做持久化(或者初始化),通过改写Sentinel源码实现了需求,下面记录一下实现过程。 如果不知道Sentinel怎么搭,可以看看: 流控平台Sentinel搭建和接入教程_东皋长歌的博客-CSDN博客 一,背景 Sentinel是Alibaba开源…

信息技术会考操作题excel,信息技术会考操作题目

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;信息技术会考操作题python计算题&#xff0c;信息技术会考操作题没有保存&#xff0c;今天让我们一起来看看吧&#xff01; 1. 数据分析题&#xff08;17分&#xff09;&#xff1a; 流行病学通常关注单日治愈患者例数增…

@vue/composition-api功能介绍

前言 vue/composition-api 是通过一个插件的方式,为 Vue2&#xff08;2.7自带&#xff0c;2.6及以下可用&#xff09; 提供类似 Vue3 composition API 的函数式编程能力。它的实现思路主要有: 1、提供组合式函数,在函数内部追踪响应性依赖。 2、将组合产生的响应式状态保存到…

网络知识介绍

一、TCP 传输控制协议&#xff0c;Transmission Control Protocol。 面向广域网的通信协议&#xff0c;跨域多个网络通信时&#xff0c;为两个通信端点之间提供一条具有如下特点的通信方式&#xff1a; 基于流、面向连接、可靠通信方式、网络状况不佳时尽量降低系统由于重传带…

初识Linux

今天简单了解了关于操作系统的发展史&#xff0c;学习了在Linux中如何远程连接云服务器的指令&#xff0c;以及在Linux中创建多个用户的指令。 1. ssh root 服务器远程地址 作用是用来连接XShell与云服务器&#xff0c;输入该指令后会自动生成输入密码的窗口&#xff0c;如…

【产品经理】高阶产品如何处理需求?(3方法论+2案例+1清单)

不管你是萌新小白&#xff0c;还是工作了几年的“老油条”&#xff0c;需求一直是产品经理工作的重点。只不过&#xff0c;不同年限的产品经理需要面对的需求大有不同&#xff0c;对能力的要求更高。 不知你是否遇过以下问题&#xff1f; 你接手一个项目后&#xff0c;不知从何…

DID以及社交网络中的ZKP

1. 引言 本文关键术语为&#xff1a; Decentralized Identity (DID&#xff0c;去中心化身份) or self-sovereign identity (SSI&#xff0c;自治身份) &#xff1a;是一个基于开放标准的框架&#xff0c;使用自主、独立的标识符和可验证证书&#xff0c;实现可信的数据交换。…

九五从零开始的运维之路(其二十九)

文章目录 前言一、概述二、数据备份的重要性三、造成数据丢失的原因三、备份类型1.物理与逻辑角度&#xff08;一&#xff09;物理备份&#xff08;二&#xff09;逻辑备份 2.数据库备份策略角度&#xff08;一&#xff09;完整备份&#xff08;二&#xff09;增量备份 四、常见…

计算机视觉项目中的文件批量操作与文件批量预处理

计算机视觉项目中的文件批量操作与文件批量预处理 目录 数据集制作文件批量重命名文件批量移动将文件批量按照一定格式进行重命名修改xml文件内容的方法 引言 在计算机视觉项目中&#xff0c;文件批量操作和文件批量预处理是必不可少的步骤。它们涉及处理大量的图像文件&am…

CentOS 上配置 NFS 服务器和客户端

部署 要在 CentOS 上配置 NFS 服务器和客户端&#xff0c;你可以按照以下步骤进行操作&#xff1a; 配置 NFS 服务器&#xff1a; 安装 NFS 服务器软件包&#xff1a; sudo yum install nfs-utils编辑 NFS 服务器配置文件 /etc/exports&#xff0c;添加要共享的目录和权限设置…

虹科案例|如何分析设备故障时间和次数,打破生产瓶颈?

虹科设备绩效管理系统 保障生产设备的稳定性和可靠性 生产设备的稳定性和可靠性是保证企业正常生产的重要条件之一&#xff0c;设备故障的频发严重影响企业的正常生产&#xff0c;那么如何分析设备故障时间和次数&#xff0c;查找设备故障原因&#xff0c;协助企业打破生产瓶…

python题-将多个Linux文件夹路径转换为JSON形式

要将多个Linux文件夹路径转换为JSON形式&#xff0c;我们可以使用一个字典来表示这个JSON结构。每个路径都是一个字符串&#xff0c;我们需要将其拆分成目录名&#xff0c;并将目录名按照层次结构组织成一个嵌套的字典。 思路如下&#xff1a; 遍历每个文件夹路径。将每个路径…

树莓派通过天线+gps获取经纬度并调用高德地图api在地图上标点

完整项目为《基于机器视觉的行人和路面缺陷检测及其边缘设备部署》 完整功能视频演示地址&#xff1a;本科最后的课设&#xff1a;“车载系统的辅助系统——基于机器视觉的行人和路面缺陷检测”完结撒花*罒▽罒*_哔哩哔哩_bilibili 该博客介绍的功能为&#xff1a; 1&#xff1…

初步了解c#编程语言--(1)

初识c#编程语言 一、见识c#语言编写的各类应用程序 关于用c#语言编写的各类应用程序有以下几种&#xff1a; 1.Console 在编写Console程序时&#xff0c;要注意创建项目时&#xff0c;是选择控制台应用程序&#xff08;Console Application&#xff09;&#xff0c;在这里…

正泰电力携手图扑:VR 变电站事故追忆反演

VR(Virtual Reality&#xff0c;虚拟现实)技术作为近年来快速发展的一项新技术&#xff0c;具有广泛的应用前景&#xff0c;支持融合人工智能、机器学习、大数据等技术&#xff0c;实现更加智能化、个性化的应用。在电力能源领域&#xff0c;VR 技术在高性能计算机和专有设备支…

Zabbix 5.0 离线安装

1、安装说明参考 安装链接 离线安装包挺全 2、主动和被动配置 /etc/zabbix/zabbix_agentd.conf配置&#xff0c;禁用被动 StartAgents0 3、支持容器监控 所在监控设置安装zabbix_agent2 官网下载导入模板&#xff1a;Template App Docker

大数据课程E6——Flume的Processor

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解Processor的概念和配置参数&#xff1b; ⚪ 掌握Processor的使用方法&#xff1b; ⚪ 掌握Processor的Default Processo&#xff1b; ⚪ 掌握Processor的Load Bal…

远程控制平台二之高效率录屏

内容优化 前面说的受控端推流,这个“流”的数据就来源于录屏,那么我们是否只是简单录屏呢?显然不是的,我们的要求只是看到远程设备的屏幕以及操控远程设备,所以,图像是必须的,但声音是多余的,至少在我们目前这个项目是这样,所以,我们在录屏的时候,只需使用ImageRea…