Spring Boot 作为主流微服务框架,拥有成熟的社区生态。市场应用广泛,为了方便大家,整理了一个基于spring boot的常用中间件快速集成入门系列手册,涉及RPC、缓存、消息队列、分库分表、注册中心、分布式配置等常用开源组件,大概有几十篇文章,陆续会开放出来,感兴趣同学可以关注&收藏
1、简介
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的xml 文件 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
与其他的ORM框架不同,mybatis没有将java对象与数据库表关联起来,而是将java方法与sql语句关联。允许用户充分利用数据库的各种功能。
与JDBC相比,mybatis简化了代码,sql语句在一行代码中就能执行。mybatis支持声明式缓存,当一条sql被标记为可缓存
后,首次执行sql从数据库查询的数据会被存储到一个高速缓存中,后面再执行这条语句就会从高速缓存中读取结果,而不是再次查询数据库。Mybatis除了基于默认的HashMap的缓存实现,还支持OSCache、Ehcache、Memcached等扩展缓存。
2、依赖集成
首先添加mybatis 的spring boot start组件,引入pom依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
包依赖关系:
通过IDEA的maven插件可以查看到pom的依赖关系,Spring Boot 2默认数据库连接池选择了HikariCP。
HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池,是一个高性能的JDBC连接池,基于BoneCP做了不少的改进和优化。但代码体积比较小,只有130kb。
HikariCP与Druid相比哪个更好?
Druid是阿里巴巴开源的“为监控而生的数据库连接池!”。性能测试过程略低于HikariCP,但是提供了强大的监控和扩展功能。支持psCache。
更多的内容比较可以参考:https://github.com/brettwooldridge/HikariCP/issues/232
另外的数据库驱动需要我们自己手动引入,具体的pom依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
3、代码演示
配置数据源
数据源在 application.yaml
文件中的配置前缀为 spring.datasource
,hikari连接池的配置通过spring.datasource.hikari
进行配置,具体配置如下:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/ds0?characterEncoding=utf-8
username: root
password: 111111