Spring/Spring Boot 整合 Mybatis + Phoenix
一、前言
使用 Spring+Mybatis 操作 Phoenix 和操作其他的关系型数据库(如 Mysql,Oracle)在配置上是基本相同的,下面会分别给出 Spring/Spring Boot 整合步骤,完整代码见本仓库:
二、Spring + Mybatis + Phoenix
2.1 项目结构
2.2 主要依赖
除了 Spring 相关依赖外,还需要导入 phoenix-core
和对应的 Mybatis 依赖包
1 | <!--mybatis 依赖包--> |
2.3 数据库配置文件
在数据库配置文件 jdbc.properties
中配置数据库驱动和 zookeeper 地址
1 | # 数据库驱动 |
2.4 配置数据源和会话工厂
1 | <?xml version="1.0" encoding="UTF-8"?> |
2.5 Mybtais参数配置
新建 mybtais 配置文件,按照需求配置额外参数, 更多 settings 配置项可以参考官方文档
1 | <?xml version="1.0" encoding="UTF-8" ?> |
2.6 查询接口
1 | public interface PopulationDao { |
1 |
|
2.7 单元测试
1 | (SpringRunner.class) |
三、SpringBoot + Mybatis + Phoenix
3.1 项目结构
3.2 主要依赖
1 | <!--spring 1.5 x 以上版本对应 mybatis 1.3.x (1.3.1) |
spring boot 与 mybatis 版本的对应关系:
MyBatis-Spring-Boot-Starter 版本 | MyBatis-Spring 版本 | Spring Boot 版本 |
---|---|---|
1.3.x (1.3.1) | 1.3 or higher | 1.5 or higher |
1.2.x (1.2.1) | 1.3 or higher | 1.4 or higher |
1.1.x (1.1.1) | 1.3 or higher | 1.3 or higher |
1.0.x (1.0.2) | 1.2 or higher | 1.3 or higher |
3.3 配置数据源
在 application.yml 中配置数据源,spring boot 2.x 版本默认采用 Hikari 作为数据库连接池,Hikari 是目前 java 平台性能最好的连接池,性能好于 druid。
1 | spring: |
3.4 新建查询接口
上面 Spring+Mybatis 我们使用了 XML 的方式来写 SQL,为了体现 Mybatis 支持多种方式,这里使用注解的方式来写 SQL。
1 |
|
3.5 单元测试
1 | (SpringRunner.class) |
附:建表语句
上面单元测试涉及到的测试表的建表语句如下:
1 | CREATE TABLE IF NOT EXISTS us_population ( |