玩转springboot:整合mybatis实例
这篇文章讲解一下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实例相关推荐
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...
SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例...
SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 1.前言 本文主要介绍使用SpringBoot与shiro实现基 ...
- SpringBoot整合Mybatis(高级)
SpringBoot整合Mybatis(高级) 文章目录 SpringBoot整合Mybatis(高级) 前言 基础环境配置 增删改查 ResultMap 复杂查询 多对一 一对多 动态SQL if ...
- SpringBoot整合篇 01、Springboot整合Mybatis
文章目录 前言 一.快速使用 1.1.导入坐标mybatis启动器 1.2.创建一个实体类(方便后面使用) 1.3.application.yml配置数据源等 1.4.DAO与Mapper配置 参考文 ...
- 详解SpringBoot整合Mybatis框架
文章目录 前言 一.创建SpringBoot项目 二.配置Mybatis 1. 在pom.xml文件中添加jar包依赖 2. SpringBoot整合Mybatis配置文件 三.创建Mapper接口 ...
- SpringBoot整合Mybatis遇到的问题,已解决
① 启动报错Failed to configure a DataSource: 'url' attribute is not specified and - 根据报错日志分析是在springboot项 ...
- mybatis plugins_[MyBatis] SpringBoot 整合Mybatis
现在基本上搭建一个简单的工程都是三剑客 springboot+mybatis+redis 之前整合Mybatis 都是按照SSM来,所以,这一次带来SpringBoot+MyBatis 的快速整合 p ...
- SpringBoot整合Mybatis超详细流程
SpringBoot整合Mybatis超详细流程 文章目录 SpringBoot整合Mybatis超详细流程 前言 详细流程 0.引入Mybatis 1.创建数据 2.创建程序目录 3.理解后台访问流 ...
- 3、SpringBoot整合MyBatis注解版及配置文件版
目录 1.配置pom.xml 2.配置application.yml 3.配置DruidConfig关联yml的配置文件spring.datasource 4.创建数据库及数据库表结构 5.创建对应的 ...
最新文章
- WPF 浏览PDF 文件
- html学习_认识html
- C语言sprintf与sscanf函数
- Gateway网关-路由断言工厂
- 鸿蒙开发版智慧生活,华为发布全新分布式鸿蒙OS,打造全场景智慧生活新体验...
- java ajax简单实例_JAVA编写的AJAX例子,很简单,但是很容易理解详解
- 种草 ES2020 八大新功能
- linux多线程编程书籍推荐:linux大牛之路从这几本书开始
- Android Studio实现计算器功能
- 信息学奥赛一本通1179:奖学金
- 突破IP限制动态替换代理ip。
- echart改变折线图和折线点的颜色以及折线点的大小
- ie8对fixed的支持较差
- Linux、UNIX设置开机自动运行命令、脚本配置
- [附源码]Python计算机毕业设计Django高校社团管理系统
- win10 telnet不是内部或外部命令(已解决)
- Esp32 spi slave配置
- [BAOJ3631]松鼠的新家
- IDEA中maven使用tomcat插件,tomcat并没有启动,无tomcat日志信息
- matlab循环迭代6,matlab - Matlab中每个for循环迭代的速度降低 - 堆栈内存溢出