SpringBoot整合Mybatis方式1:使用XML方式整合Mybatis

news2024/11/18 17:41:11

SpringBoot整合Mybatis

  • 简介
  • SpringBoot整合Mybatis方式1:使用XML方式整合Mybatis
    • 1.用idea创建一个添加mybatis需要的相关依赖的工程。
    • 2.准备数据库和表
    • 3.创建表映射类
    • 4.创建mapper文件
      • 4.1 创建UsersMapper.xml文件,并添加sql语句
      • 4.2 创建mapper对应的代理接口
    • 5.创建Service层和Service的实现层
    • 6.创建控制层(也就是web层)
    • 7.添加配置信息
      • 7.1添加数据库链接信息和设置mybatis中的别名信息
      • 7.2在应用程序入口类上配置@MapperScan扫描mapper接口文件所在包!
      • 7.3 在pom.xml文件中添加识别java目录下xml文件的配置
    • 8.运行
  • 扩展

简介

在 Spring+SpringMVC 中整合 MyBatis 步骤需要在配置文件里配置多个 Bean,比如MapperScannerConfigurer,SqlSessionFactoryBean 等,步骤还是比较复杂的,Spring Boot 中对此做了进一步的简化,使 MyBatis 基本上可以做到开箱即用,也就是搭建SSM环境 。
Spring Boot中整合mybatis,主要有两种方式:①xml文件;②注解方式

SpringBoot整合Mybatis方式1:使用XML方式整合Mybatis

使用Xml方式也就是将Sql语句写在**Mapper.xml文件中

1.用idea创建一个添加mybatis需要的相关依赖的工程。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建出来的项目结构如下:
在这里插入图片描述

2.准备数据库和表

在这里插入图片描述

3.创建表映射类

在这里插入图片描述
之前创建表映射类时,我们是手动添加set,get,toString方法和构造方法等,比如像这样(可以自动生成)
在这里插入图片描述
现在,我们可以添加一个Lombok 依赖来简化这些代码
在这里插入图片描述
添加需要的注解,通过注解来实现自动帮我们加入get,set,构造方法等。
在这里插入图片描述

4.创建mapper文件

4.1 创建UsersMapper.xml文件,并添加sql语句

在这里插入图片描述

4.2 创建mapper对应的代理接口

在这里插入图片描述

5.创建Service层和Service的实现层

在这里插入图片描述
在这里插入图片描述

6.创建控制层(也就是web层)

在这里插入图片描述

7.添加配置信息

7.1添加数据库链接信息和设置mybatis中的别名信息

数据源配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.username=root spring.datasource.password=root 
spring.datasource.url=jdbc:mysql://localhost:3306/boot?
characterEncoding=utf8&serverTimezone=GMT%2B8

mybatis配置
mybatis.type-aliases-package=com.test.ssm.pojo ```

在这里插入图片描述

7.2在应用程序入口类上配置@MapperScan扫描mapper接口文件所在包!

在这里插入图片描述

7.3 在pom.xml文件中添加识别java目录下xml文件的配置

这是Maven 带来的问题,就是 java 目录下的 xml 资源在项目打包时会被忽略掉,所以,如果 UsersMapper.xml 放在Java目录下,需要在 pom.xml 文件中再添加如下配置,避免打包时 java 目录下的 XML 文件被自动忽略掉:

<resources>
	<resource>
		<directory>src/main/java</directory>
		<includes> 
			<include>**/*.xml</include>
		</includes> 
	</resource> 
	<resource> 
		<directory>src/main/resources</directory>
	</resource> 
</resources>

在这里插入图片描述

8.运行

在这里插入图片描述
在这里插入图片描述

扩展

上述的最终结果是输出了select查询的结果,若我们希望将数据返回到视图层,那边可以进行下列操作:

(在控制层使用SpringMVC提供的ModelAndView,将数据从控制层传递到视图层)
在这里插入图片描述
(在template模板文件中通过循环的方式展示从控制层传来的数据)
在这里插入图片描述

(页面展示)在这里插入图片描述

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

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

相关文章

Docker的Cgroup资源限制

Docker通过Cgroup来控制容器使用的资源配额&#xff0c;包括 CPU、内存、磁盘三大方面&#xff0c;基本覆盖了常见的资源配颡和使用量控制。 Cgoup 是CotrolGroups 的缩写&#xff0c;是Linux 内核提供的一种可以限制、记录、隔高进程组所使用的物理资源&#xff08;如CPU、内存…

基于jsp的学生培训管理系统

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

【教学类-18-01】20221123《蒙德里安红黄蓝格子画》(大班)

效果展示&#xff1a; 单页效果 多页效果 预设效果 背景需求&#xff1a; 2022年11月23日&#xff0c;作为艺术特色幼儿园&#xff0c;蒙德里安风格装饰在我们幼儿园的环境中。 蒙德里安是几何抽象画派的先驱&#xff0c;以几何图形为绘画的基本元素&#xff0c;与德士堡等创…

MyBatis-Plus 和swagger

MyBatis-Plus 1.1MyBatis Plus 简介 mybatisplus 官网&#xff1a; https://baomidou.com/ MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c; 为简化开发、提高效率而生。 1.2主要特性&a…

【项目管理】Java使用pdfbox调用打印机打印PDF文件

【项目管理】Java使用pdfbox调用打印机打印PDF文件1.项目前言2.项目实现3.关键代码4.效果演示5.问题处理5.1 安装对应字体5.2 修改对应代码系统&#xff1a;Win10 Java&#xff1a;1.8.0_333 IDEA&#xff1a;2020.3.4 Gitee&#xff1a;https://gitee.com/lijinjiang01/Printe…

如何使用轮播图实现水平内容自动切换

通过轮播图实现一个水平内容自动切换 效果展示 前置准备 三张背景图片 具体步骤 添加一个轮播图组件 添加一个图片 添加一个标题 添加数据表 添加事件 添加触发器 绑定数据 步骤拆解 添加一个轮播图组件 1.1 拖拽 轮播图 到 编辑区 1.2 调整 轮播图 样式 添加一个图片 …

有关QT的问题大全

文章目录现在2022年&#xff0c;Qt发展如何&#xff1f;是就业的好选择吗&#xff1f;如何学习Qt,c到什么程度可以去学qt&#xff1f;现在 Qt 好找工作吗&#xff1f;为什么工业软件开发一般用的都是QT&#xff1f;初学QT怎么学?请问目前做windows桌面应用程序&#xff0c;MFC…

工作中Java Stream的简单应用

标题开发使用filter() and map()max()根据集合对象中的某个属性取最大值先解释一下各变量含义: temps集合是userids的子集(大前提) cache是temps集合在userids集合中的补集 简单来说就是,userids集合-temps集合cache补集,如下图所示目标:此次为工作中实际遇到的问题,需要得到c…

C++编译链接

文章目录C编译链接C编译模式分离式编译是个啥&#xff1f;怎么实现上述过程&#xff1f;定义与声明引出新的问题头文件有关头文件用来干啥&#xff1f;include头文件中应该写什么&#xff1f;#ifndef通过gcc/g命令来看完整的编译链接过程预处理(Preprocessing)编译(Compilation…

院内导航系统哪家口碑好?医疗院内导航地图公司排名

“医生&#xff0c;请问验血怎么走&#xff1f;”   “护士&#xff0c;请问药房在哪儿&#xff1f;”   “您好&#xff0c;做CT在什么地方&#xff1f;”   这些问题是医生和护士经常遇到的问题。的确&#xff0c;患者就诊时&#xff0c;由于对医院环境不熟悉&#xff…

云计算(虚拟化)面试宝典

一:服务器虚拟化 1.名词解释 (1)资源动态调整(对象是虚拟机) 管理员操作,对CPU、内存、网卡、硬盘、GPU进行调整。 FusionCompute支持虚拟机资源动态调整,用户可以根据业务负载动态调整资源的使用情况。 虚拟机资源调整包括: 离线/在线调整vCPU数目 无论虚拟机处于离线…

如何使用C++图形界面开发框架Qt创建一个应用程序?(Part 3)

Qt是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 点击获取Qt组件下载 …

Flink的状态编程

Flink 处理机制的核心&#xff0c;就是“有状态的流式计算”。在流处理中&#xff0c;数据是连续不断到来和处理的。每个任务进行计算处理时&#xff0c;可以基于当前数据直接转换得到输出结果&#xff1b;也可以依赖一些其他数据。这些由一个任务维护&#xff0c;并且用来计算…

【HAL库】STM32CubeMX开发----STM32F407----CAN通信实验

STM32CubeMX 下载和安装 详细教程 【HAL库】STM32CubeMX开发----STM32F407----目录 前言 本次实验以 STM32F407VET6 芯片为MCU&#xff0c;使用 25MHz 外部时钟源。 CAN通信波特率为 500K bps。 CAN通信引脚 与 MCU引脚 对应关系如下&#xff1a; CAN通信引脚MCU引脚TXPB9RXP…

虹科教您 | 虹科Automation softPLC入门操作指南(2)——子程序和用户自定义功能块 UDFB

虹科KPA Automation softPLC是为Linux、Xenomai、INtime、Windows等实时操作系统开发PLC的编程环境&#xff0c;适合需要使用IEC61131-3和PLCopen标准的控制技术和进行PLC编程的用户。本篇文章将帮助您创建和使用IEC语言开发的函数和功能块。 Automation softPLC Studio 命名规…

kettle 9.2源码打包和idea环境启动及常见错误

一&#xff1a;源码打包 这里为什么是kettle 9.2&#xff0c;因为kettle 9.3需要jdk11 这里直接去下载kettle的源码&#xff0c;tag9.2.0.4-R。这里需要自己搭建一个nexus仓库&#xff0c;因为有些包从kettle的仓库里面下载不下来。 nexus新建仓库代理, 记得加到public里面去 …

学术界or工业界,高校博后转行大厂工程师心得!

8本电子书免费送给大家&#xff0c;见文末。 导读&#xff1a;以下是这篇文章是一位 七月在线 学员的的学习和面试经历的分享&#xff0c;现将学员学习和面试心得分享给大家&#xff0c;祝大家都能有好的offer。 1 个人情况 我之前在高校做博后&#xff0c;现在转行到大厂做…

数据库的基本操作(7)

在这一篇博客中我将对数据库进行一个结尾&#xff0c;这将是关于数据库基本内容的结尾。 首先我们来简单总结一下前面的内容&#xff1a; 前面主要讲了Mysql中的索引和事务&#xff0c;这是面试必考的内容。 索引&#xff0c;怎么理解索引呢&#xff1f; 1.索引存在的意义&…

通用汽车在华加速推出智能电动车型

到2025年底前&#xff0c;推出超过15款基于奥特能平台打造的电动车型基于奥特能平台的雪佛兰FNR-XE纯电概念车全球首发通用汽车全新“软件定义汽车”平台将于明年正式推出近日&#xff0c;通用汽车中国在上海举办了“2022科技展望日”&#xff0c;展示了其在Ultium奥特能全球电…

IE高级配置中支持的SSL/TLS协议对应注册表值

一、手动勾选"Internet选项->高级->安全->使用TLS 1.2" 二、以编程方式勾选"Internet选项->高级->安全->使用TLS 1.2" 1.注册表值SecureProtocols对应的含义 注册表的路径为&#xff1a;HKEY_CURRENT_USER\Software\Microsoft\Windows…