文章目录

  • 前言
  • 一、快速使用
    • 1.1、导入坐标mybatis启动器
    • 1.2、创建一个实体类(方便后面使用)
    • 1.3、application.yml配置数据源等
    • 1.4、DAO与Mapper配置
  • 参考文章

前言

本篇博客是SpringBoot整合Mybatis,若文章中出现相关问题,请指出!

所有博客文件目录索引:博客目录索引(持续更新)

一、快速使用

1.1、导入坐标mybatis启动器

第一个是mybatis的springboot启动器,第二个是lombok插件主要用来简化pojo方法

<!--   mybatis   -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version>
</dependency>
<!--    lombok插件    -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.4</version><scope>compile</scope>
</dependency>

1.2、创建一个实体类(方便后面使用)

@Data
public class User {private BigInteger id;private BigInteger roleId;private String username;private String password;private String salt;private String email;private String phoneNum;private BigDecimal accountMoney;}

1.3、application.yml配置数据源等

数据源不陌生吧,分别为用户名、jdbc连接mysql数据源地址、密码、驱动类。

下面的是对应的实体类包路径设置以及对应的mapper映射位置。

# 配置mybatis数据源
spring:datasource:username: rooturl: jdbc:mysql://localhost:3306/dj.smartparking.rdb?setTimezone=UTC&useUnicode=true&characterEncoding=utf-8password: 123456driver-class-name: com.mysql.cj.jdbc.Driver# 整合mybatis,实体类包配置和mapper映射地址
mybatis:type-aliases-package: com.changlu.pojomapper-locations: classpath:mybatis/mapper/*.xml

  • mapper-locations对应路径为resources目录下。

1.4、DAO与Mapper配置

①在springboot启动类上使用注解@MapperScan,后面跟上对应的mapper包路径,表示自动扫描该包下的dao

@MapperScan("com.jssvc.smartparking.mapper")  //扫描mapper包下的dao接口
@SpringBootApplication
public class SmartparkingWebApplication {public static void main(String[] args) {SpringApplication.run(SmartparkingWebApplication.class, args);}}
  • 使用@Repository在dao上,需要在启动类上添加@MapperScan,如上。

②接着到该mapper目录中创建dao即可。

@Repository  //创建bean实例并交由spring管理
public interface UserMapper {User getUser(String username);}

③对应mapper配置内容如下

主要是数据库字段名与pojo实体类中的字段名不相同,所以使用了resultMap来进行别名设置

<?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 namespace="com.jssvc.smartparking.mapper.UserMapper"><!-- 定义一个结果集,保证pojo中的字段与数据库相符   --><resultMap id="userResultMap"  type="com.jssvc.smartparking.pojo.User"><!-- 用id属性来映射主键字段 --><id property="id" column="id"/><result property="roleId" column="role_id"/><result property="username" column="username"/><result property="password" column="password"/><result property="salt" column="salt"/><result property="email" column="email"/><result property="phoneNum" column="phonenum"/><result property="accountMoney" column="accountmoney"/></resultMap><!--  根据username获取User对象  --><select id="getUser" resultMap="userResultMap" parameterType="String">select * from user where username = #{username}</select></mapper>

到了这步dao与mapper映射文件都配置完毕了,如何在service类中使用呢?通过使用一个@Autowired来进行自动注入


参考文章

[1]. @Repository 与 @Mapper的区别


我是长路,感谢你的耐心阅读。如有问题请指出,我会积极采纳!
欢迎关注我的公众号【长路Java】,分享Java学习文章及相关资料
Q群:851968786 我们可以一起探讨学习
注明:转载可,需要附带上文章链接

SpringBoot整合篇 01、Springboot整合Mybatis相关推荐

  1. 【SpringBoot应用篇】SpringBoot集成j2cache二级缓存框架

    [SpringBoot应用篇]SpringBoot集成j2cache二级缓存框架 j2cache介绍 j2cache入门使用 pom application.yml caffeine.properti ...

  2. 【SpringBoot高级篇】SpringBoot集成Elasticsearch搜索引擎

    [SpringBoot高级篇]SpringBoot集成Elasticsearch搜索引擎 1. 什么是Elasticsearch? 2. 安装并运行Elasticsearch 2.1 拉取镜像 2.2 ...

  3. 【SpringBoot新手篇】SpringBoot 集成H2数据库

    [SpringBoot新手篇]SpringBoot 集成H2数据库 概述h2数据库 SpringBoot整合测试 pom yml Embedded 嵌入式 Remote (client/server) ...

  4. 【SpringBoot高级篇】springboot实现上传docdocx文件格式转html在线预览v2.0

    [SpringBoot高级篇]springboot实现上传doc&docx文件格式转html在线预览v2.0 pom 上传路径工具类 SpringMvc虚拟路径映射 doc转html工具类 d ...

  5. 【SpringBoot应用篇】SpringBoot+Redis实现接口幂等性校验

    [SpringBoot应用篇]SpringBoot+Redis实现接口幂等性校验 幂等性 解决方法 Pom token令牌 yml @ApiIdempotentAnn ApiIdempotentInt ...

  6. 【SpringBoot高级篇】SpringBoot集成jasypt 配置脱敏和数据脱敏

    [SpringBoot高级篇]SpringBoot集成jasypt数据脱敏 配置脱敏 使用场景 配置脱敏实践 数据脱敏 pom yml EncryptMethod EncryptField Encry ...

  7. 【SpringBoot高级篇】SpringBoot集成MongDB数据库

    [SpringBoot高级篇]SpringBoot集成MongDB数据库 MongoDB是什么 ? 主要特点 MongoDB管理 工具 MongoDB 基本概念 数据库 文档(Document) 集合 ...

  8. SpringBoot第九篇: springboot整合Redis

    这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis. 引入依赖: 在pom文件中添加redis依赖: <dependen ...

  9. 一起来学SpringBoot | 第二篇:SpringBoot配置详解

    SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...

最新文章

  1. Transformer新玩法登Nature子刊
  2. jsp 跳到servlet路径_直接访问Jsp和从Servlet跳转到Jsp时的路径问题
  3. 论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts
  4. 动画函数优化,为任意元素添加任意多个属性
  5. 没有workstation_这才是Win10的旗舰版:WorkStation版独享功能测试
  6. STM32工作笔记0037---STM32时钟系统精讲-M3
  7. 学python需要什么基础-零基础学Python应该学习哪些入门知识及学习步骤安排
  8. Silverlight实用窍门系列:51.Silverlight页面控件的放大缩小、Silverlight和Html控件的互相操作【附带源码实例】...
  9. javascript在IE下的格式问题
  10. Swift设计模式: 观察者模式(发布-订阅模式)
  11. Nginx(1)— Nginx工作原理
  12. 2 Features Engineering for Machine Learning中文翻译系列(二)
  13. Win 10 蓝屏,出现DRIVER_POWER_STATE_FAILURE的解决方法
  14. 洛谷:P1330 封锁阳光大学(二分图染色 + 最小同色点覆盖)
  15. 计算机应用基础个人简历制作,计算机应用基础信息技术基础《项目3-4制作个人简历》教案...
  16. Tony.SerialPorts.RS232简介
  17. qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文
  18. 转载作品:人生重开模拟器(修仙7.0版)
  19. 链游公会打金热背后:多由矿工转型,存在多重风险 |链捕手
  20. Mac pro微信开发者工具无法显示登录的二维码解决方案

热门文章

  1. matlab绘制系统函数频率特性,实验七用MATLAB进行系统频率特性曲线绘制
  2. EndNote使用笔记
  3. 汽车云市场:华为云、百度云上演追逐战
  4. 为什么做百度SEO要选择全网优化?
  5. 软件验收测试包括哪些内容,第三方软件检测机构怎么选择?
  6. Free Software vs. Open Source
  7. 计算机中rm代表什么意思,健身中常见的RM是什么,你了解这个概念吗?了解它很重要...
  8. 花开花落,终只能一个人欣赏。伤感文字分享。
  9. 【180626】类似打地鼠一样的VC打人游戏
  10. [软件评测第十二期]遨游浏览器