项目架构:springboot2
+ mybatis
+ knife4j
+ impala
- 通过
mybatis
的方式操作impala
数据库,去掉冗杂的jdbc代码 - 集成了适合
impala
的通用mapper
和pagehelper
,使用offset
方式进行分页 - 采用Druid连接池管理对impala数据库的连接,配置对空闲连接的剔除管理(此配置解决了,当impala服务重启后,web项目再次访问查询,获取不到连接的问题。)
- 接口文档地址:http://localhost:9090/crash/doc.html (采用knife4j的文档风格)
依赖 | 版本 |
---|---|
Spring Boot | 2.1.8.RELEASE |
Spring Web MVC | 5.1.9.RELEASE |
MyBatis | 4.1.5 |
通用mapper | 2.1.5 |
Druid | 1.1.21 |
- 执行web模块下resources/db/crash.sql文件,创建impala数据表crash,并插入数据
- 使用postman测试接口
- 可根据项目需要自定义
backend/src/test/resources/generator/template/**
目录下的模板文件 - 定义好表结构后,配置
backend/src/test/java/CodeGenerator.java
这个文件,运行即可生成项目的基础代码
- [已解决] Caused by: com.cloudera.impala.jdbc41.internal.apache.thrift.transport.TTransportException
- [已解决] Caused by: java.net.SocketException: Software caused connection abort: socket write error
- [已解决] Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 10, active 1, maxActive 60000, creating 1, createElapseMillis 21
- [可忽略] java.sql.SQLException: [Cloudera]ImpalaJDBCDriver Communication link failure. Failed to connect to server. (等待连接池中的连接被回收后,重新建立连接)
博客地址:https://blog.csdn.net/qq_34997906/article/details/108752222