这篇文章讲解一下springboot整合mybatis,其实,springboot整合mybatis和springmvc整合mybatis并没有什么太大的区别,大体上还是差不多哦,只是比springmvc更加的简单一点,下面我们就以一个例子来讲解一下整合mybatis。

我们先看一下pom.xml

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version>
</dependency>

因为mybatis已经整合到starter中了,所以我们只需要引入这个依赖就可以了。

下面,我们以Employee员工为例

public class Employee {private Integer id;private String lastName;private Integer gender;private String email;private Integer dId;//getter setter
}
  • 数据层接口(注解版)
//@Mapper或者@MapperScan将接口扫描装配到容器中
@Mapper
public interface EmployeeMapper {@Select("select * from employee where id=#{id}")public Employee getEmpById(Integer id);@Insert("Insert into employee(email) values(#{email})")public void insertEmp(Employee employee);
}

上面这是以注解的方式进行配置,当然我们也可以使用配置文件

  • 数据层(配置文件版)
//@Mapper或者@MapperScan将接口扫描装配到容器中
public interface EmployeeMapper {public Employee getEmpById(Integer id);public void insertEmp(Employee employee);
}

因为是配置文件版,所以我们需要配置mapper配置文件

  • EmployeeMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sihai.springboot.mapper.EmployeeMapper"><!--    public Employee getEmpById(Integer id);public void insertEmp(Employee employee);--><select id="getEmpById" resultType="com.sihai.springboot.bean.Employee">SELECT * FROM employee WHERE id=#{id}</select><insert id="insertEmp">INSERT INTO employee(email) VALUES (#{email})</insert>
</mapper>

我们在看一下mybatis数据源的配置,我们这里使用yml的方式,数据源使用druid,配置如下

  • 数据源配置application.yml
spring:datasource:
#   数据源基本配置username: rootpassword: 123456driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.15.22:3306/mybatistype: com.alibaba.druid.pool.DruidDataSource
#   数据源其他配置initialSize: 5minIdle: 5maxActive: 20maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true
#   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙filters: stat,wall,log4jmaxPoolPreparedStatementPerConnectionSize: 20useGlobalDataSourceStat: trueconnectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
mybatis:# 指定全局配置文件位置config-location: classpath:mybatis/mybatis-config.xml# 指定sql映射文件位置mapper-locations: classpath:mybatis/mapper/*.xml

这就是mybatis整合springboot 的过程了,要了解mybatis的用法,请查看下面的文章mybatis系列文章

玩转springboot:整合mybatis实例相关推荐

  1. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...

  2. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 1.前言 本文主要介绍使用SpringBoot与shiro实现基 ...

  3. SpringBoot整合Mybatis(高级)

    SpringBoot整合Mybatis(高级) 文章目录 SpringBoot整合Mybatis(高级) 前言 基础环境配置 增删改查 ResultMap 复杂查询 多对一 一对多 动态SQL if ...

  4. SpringBoot整合篇 01、Springboot整合Mybatis

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

  5. 详解SpringBoot整合Mybatis框架

    文章目录 前言 一.创建SpringBoot项目 二.配置Mybatis 1. 在pom.xml文件中添加jar包依赖 2. SpringBoot整合Mybatis配置文件 三.创建Mapper接口 ...

  6. SpringBoot整合Mybatis遇到的问题,已解决

    ① 启动报错Failed to configure a DataSource: 'url' attribute is not specified and - 根据报错日志分析是在springboot项 ...

  7. mybatis plugins_[MyBatis] SpringBoot 整合Mybatis

    现在基本上搭建一个简单的工程都是三剑客 springboot+mybatis+redis 之前整合Mybatis 都是按照SSM来,所以,这一次带来SpringBoot+MyBatis 的快速整合 p ...

  8. SpringBoot整合Mybatis超详细流程

    SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...

  9. 3、SpringBoot整合MyBatis注解版及配置文件版

    目录 1.配置pom.xml 2.配置application.yml 3.配置DruidConfig关联yml的配置文件spring.datasource 4.创建数据库及数据库表结构 5.创建对应的 ...

最新文章

  1. WPF 浏览PDF 文件
  2. html学习_认识html
  3. C语言sprintf与sscanf函数
  4. Gateway网关-路由断言工厂
  5. 鸿蒙开发版智慧生活,华为发布全新分布式鸿蒙OS,打造全场景智慧生活新体验...
  6. java ajax简单实例_JAVA编写的AJAX例子,很简单,但是很容易理解详解
  7. 种草 ES2020 八大新功能
  8. linux多线程编程书籍推荐:linux大牛之路从这几本书开始
  9. Android Studio实现计算器功能
  10. 信息学奥赛一本通1179:奖学金
  11. 突破IP限制动态替换代理ip。
  12. echart改变折线图和折线点的颜色以及折线点的大小
  13. ie8对fixed的支持较差
  14. Linux、UNIX设置开机自动运行命令、脚本配置
  15. [附源码]Python计算机毕业设计Django高校社团管理系统
  16. win10 telnet不是内部或外部命令(已解决)
  17. Esp32 spi slave配置
  18. [BAOJ3631]松鼠的新家
  19. IDEA中maven使用tomcat插件,tomcat并没有启动,无tomcat日志信息
  20. matlab循环迭代6,matlab - Matlab中每个for循环迭代的速度降低 - 堆栈内存溢出

热门文章

  1. 无比震荡 Fedora Linux把密码输出都落实起来
  2. Centos7:查看某个端口被哪个进程占用
  3. IAR编译的工程无法正常仿真的问题
  4. 理解linux虚拟文件系统VFS - 概述
  5. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参推断和引用
  6. EOS 核心功能 (2) nodeos
  7. C++ Primer 5th笔记(chap 14 重载运算和类型转换)成员运算符
  8. C++ Primer 5th笔记(1)chapter 1
  9. Windows SID理解
  10. Android锁机样本分析