当前位置: 首页 > news >正文

图文详解Spring Boot整合MyBatis(附源码)

版权声明本文原创作者谷哥的小弟作者博客地址http://blog.csdn.net/lfdfhl教程概述本教程以图文形式详细讲解SpringBoot整合MyBatis的流程以及具体步骤及其注意事项。本教材仅为演示案例请在项目开发过程中将相关信息替换为与实际情况吻合的代码和配置。数据准备准备本教程所需的数据库、数据表及其数据。SQL脚本文件myproject.sql代码如下-- 创建数据库DROPDATABASEIFEXISTSmybatisdb;CREATEDATABASEmybatisdb;USEmybatisdb;-- 创建员工表CREATETABLEemployee(idINTPRIMARYKEYAUTO_INCREMENT,nameVARCHAR(50),genderVARCHAR(10),departmentVARCHAR(50),positionVARCHAR(50),salaryINT,hire_dateDATE);-- 插入员工数据INSERTINTOemployee(name,gender,department,position,salary,hire_date)VALUES(张三,male,技术部,软件工程师,15000,2021-03-15),(李四,male,市场部,市场专员,8000,2022-07-01),(王五,female,人力资源部,HR经理,12000,2020-11-20),(赵六,male,财务部,会计,9000,2023-01-10),(孙七,female,技术部,测试工程师,13000,2021-08-25),(周八,male,运营部,运营主管,11000,2019-05-14),(吴九,female,市场部,品牌经理,14000,2022-04-18),(郑十,male,技术部,架构师,20000,2018-12-01);-- 查询员工数据SELECT*FROMemployee;利用Navicat等工具运行以上SQL脚本文件。首先创建数据库mybatisdb图示如下然后运行myproject.sql文件图示如下运行完毕图示如下数据如下图所示创建Spring Boot项目以下介绍SpringBoot项目的创建与相关配置。创建项目新建项目图示如下创建SpringBoot项目并填写相关信息。请注意Language选择JavaType选择Maven图示如下选择SpringBoot版本3.X并添加Spring Web依赖图示如下项目创建完毕图示如下配置JDK请依次选择File、Settings 、Compiler、Java Compiler配置JDK图示如下配置SDK请依次选择File、Project Settings、Project配置SDK图示如下请依次选择File、Project Structure、Platform Settings配置SDKs图示如下配置Maven请依次选择File、Settings配置Maven图示如下启动项目检查项目是否可正常启动图示如下项目启动完毕图示如下添加项目依赖在pom.xml文件的 dependencies/ dependencies标签中新添如下依赖!-- MySQL 驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.32/version/dependency!-- Druid 连接池 --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-starter/artifactIdversion1.1.10/version/dependency!-- MyBatis --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion3.0.3/version/dependency添加完毕后请务必刷新Maven图示如下注意事项1、在 dependencies/ dependencies标签中添加依赖。2、请勿删除 dependencies/ dependencies标签中已有的依赖。完善Spring Boot项目结构在此提前准备好项目中可能用到的包和相关资源。创建与Java代码相关的包首先请在java包下的com.cn.springbootmybatis中创建与Java代码相关的包常见的有config、controller、pojo、service、mapper、utils等请依据项目实际情况创建图示如下注意事项Spring Boot项目的启动类SpringBootMyBatisApplication与子包是并行的关系。请勿将SpringBootMyBatisApplication置于任意子包中。创建与resources代码相关的包请在resources下以com/cn/springbootmybatis/mapper的方式创建com.cn.springbootmybatis.mapper包用于存放mapper的映射文件图示如下注意事项1、请勿以com.cn.springbootmybatis.mapper的方式创建mapper包2、mapper映射文件的包名需与mapper的接口文件所在包的包名保持一致配置Spring Boot项目完善项目结构后对Spring Boot项目进行配置。配置项目启动类请在项目启动类SpringBootMyBatisApplication上使用MapperScan注解扫描mapper接口文件图示如下代码如下packagecom.cn.springbootmybatis;importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplicationMapperScan(com.cn.springbootmybatis.mapper)publicclassSpringBootMyBatisApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringBootMyBatisApplication.class,args);}}编写项目配置文件在此完善项目配置文件application.properties的编写。要点概述1、请务必注意配置文件中的包名请依据项目实际情况设置2、请务必注意配置文件中的路径请依据项目实际情况设置3、请务必注意配置文件中的配置信息请依据项目实际情况设置4、请务必注意截图的红色标记请依据项目实际情况设置application.properties代码如下# ------------------------------------------------------------------------------ # 基础配置 # ------------------------------------------------------------------------------ # 应用名称 spring.application.nameSpringBootMyBatis # 应用端口号 server.port8080 # ------------------------------------------------------------------------------ # 数据源配置 # ------------------------------------------------------------------------------ # 连接池类型使用阿里巴巴 Druid spring.datasource.typecom.alibaba.druid.pool.DruidDataSource # JDBC 驱动 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver # 数据库连接地址 spring.datasource.urljdbc:mysql://localhost:3306/mybatisdb?characterEncodingUTF-8 # 数据库用户名 spring.datasource.usernameroot # 数据库密码 spring.datasource.passwordroot # ------------------------------------------------------------------------------ # MyBatis 配置 # ------------------------------------------------------------------------------ # Mapper XML文件位置 mybatis.mapper-locationsclasspath:com/cn/springbootmybatis/mapper/*.xml # 实体类包路径 mybatis.type-aliases-packagecom.cn.springbootmybatis.pojo # ------------------------------------------------------------------------------ # 日志配置 # ------------------------------------------------------------------------------ # 根日志级别INFO logging.level.rootinfo # Mapper 日志级别DEBUG logging.level.com.cn.springbootmybatis.mapperdebug图示如下Spring Boot项目开发由此正式进入项目开发。创建实体类在pojo中创建员工实体类Employee代码如下packagecom.cn.springbootmybatis.pojo;importjava.util.Date;publicclassEmployee{privateIntegerid;privateStringname;privateStringgender;privateStringdepartment;privateStringposition;privateIntegersalary;privateDatehireDate;publicEmployee(){}publicEmployee(Integerid,Stringname,Stringgender,Stringdepartment,Stringposition,Integersalary,DatehireDate){this.idid;this.namename;this.gendergender;this.departmentdepartment;this.positionposition;this.salarysalary;this.hireDatehireDate;}publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.idid;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.namename;}publicStringgetGender(){returngender;}publicvoidsetGender(Stringgender){this.gendergender;}publicStringgetDepartment(){returndepartment;}publicvoidsetDepartment(Stringdepartment){this.departmentdepartment;}publicStringgetPosition(){returnposition;}publicvoidsetPosition(Stringposition){this.positionposition;}publicIntegergetSalary(){returnsalary;}publicvoidsetSalary(Integersalary){this.salarysalary;}publicDategetHireDate(){returnhireDate;}publicvoidsetHireDate(DatehireDate){this.hireDatehireDate;}OverridepublicStringtoString(){returnEmployee{idid, namename\, gendergender\, departmentdepartment\, positionposition\, salarysalary, hireDatehireDate};}}图示如下创建接口文件在mapper中创建接口文件EmployeeMapper.java代码如下packagecom.cn.springbootmybatis.mapper;importcom.cn.springbootmybatis.pojo.Employee;publicinterfaceEmployeeMapper{// 根据id查询员工EmployeegetEmployeeById(intid);}图示如下创建映射文件在mapper中创建映射文件EmployeeMapper.xml代码如下?xml version1.0 encodingUTF-8 ?!DOCTYPEmapperPUBLIC-//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmappernamespacecom.cn.springbootmybatis.mapper.EmployeeMapperselectidgetEmployeeByIdresultTypecom.cn.springbootmybatis.pojo.Employeeselect * from employee where id #{id}/select/mapper图示如下测试在测试类SpringBootMyBatisApplicationTests中注入EmployeeMapper并测试其功能代码如下packagecom.cn.springbootmybatis;importcom.cn.springbootmybatis.mapper.EmployeeMapper;importcom.cn.springbootmybatis.pojo.Employee;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;SpringBootTestclassSpringBootMyBatisApplicationTests{TestvoidcontextLoads(){}// 测试依据id查询员工AutowiredprivateEmployeeMapperemployeeMapper;TestvoidtestEmployeeQuery(){EmployeeemployeeemployeeMapper.getEmployeeById(1);System.out.println(employee);}}图示如下测试结果如下至此实现了SpringBoot与MyBatis的整合。
http://www.gsyq.cn/news/1346432.html

相关文章:

  • 2025-2026年跨境电商TRO解冻机构:五家好的产品日常运营防库存积压
  • 监区越界预警技术革命:基于纯视觉无感全域风控体系,重构智慧监所时空管控范式
  • 从频繁Full GC排查到开源工具类性能隐患的实战解析
  • Unity ScriptableObject+序列化多态构建模块化特效系统
  • 3步掌握EPubBuilder:在浏览器中免费制作专业EPUB电子书
  • 11款米哈游游戏字体免费获取指南:原神、星穹铁道、绝区零精美文字资源
  • 新手渗透测试实战指南:48小时可控流程与合法边界
  • 如何高效使用Cursor Free VIP破解工具:2025实用解决方案指南
  • Flutter图片加载全解析:从Widget到GPU渲染的性能优化实践
  • 内容创作新范式!2026图文交错模型推荐排行 边写边画/模态同步/思维链交织生成 - 极欧测评
  • Windows环境下制作OpenCore引导盘:5步完成Hackintosh安装
  • 海南靠谱财税公司代办TOP4推荐 2026本土正规工商财税代办机构甄选 - 速递信息
  • RAG幻觉根治手册:系统化消除检索增强生成中的错误输出
  • Cursor Pro激活工具:3步突破AI编程助手限制的智能解决方案
  • m4s-converter:重新定义B站缓存视频管理的技术方案
  • 移动运维利器:Flutter Server Box手机SSH工具全解析
  • pk3DS:如何解决3DS口袋妖怪游戏ROM编辑与随机化的7大技术难题?
  • 震惊!原来毕业论文可以这样写?2026降AIGC软件推荐合集
  • Makefile中FORCE伪目标的原理与应用:实现强制构建与版本信息生成
  • Serverless并发度:从资源管理到请求驱动的弹性伸缩核心
  • Linux下实现Everything级文件搜索:inotify与Shell脚本实战
  • 市面上有哪些是真正靠谱的降AI率工具(顺利通过高校AIGC审核)
  • 2026建德市本地人必选的瓷砖空鼓专业维修公司TOP5推荐!卫生间空鼓翘边,厨房空鼓翘边,客厅空鼓翘边,全天响应,免费上门,5月专业瓷砖空鼓修复公司持证上岗师傅排名最新深度调研方案) - 一休修缮
  • 2026 十大奢侈品鉴定技术培训推荐:2026 国内最新排名出炉,荣通金(广州)珠宝科技有限公司深耕广东广州以全体系实力登顶 - 十大品牌榜
  • Lenovo Legion Toolkit:拯救者笔记本性能优化与配置管理的终极指南
  • 梦饷科技 × 全棉时代超品日战绩出炉,销售额突破 500 万元
  • VSCode PDF预览器终极指南:在编辑器内无缝查看PDF文档
  • 实验室封膜怎么选?北京亘辰科技全电动机型深度评测 - 品牌推荐大师
  • 物联网设备安全:从控件设计与实现构建内生安全防御体系
  • 终极FanControl配置指南:3个专业技巧彻底解决风扇控制难题