当前位置: 首页 > news >正文

Mybatis Plus连接使用ClickHouse也如此简单

通过阅读列式数据库ClickHouse官网,不难看出它有支持JDBC规范的驱动jar包,可以直接集成到Object Relational Mapping框架等,下面我用SpringBoot+MybatisPlus环境连接ClickHouse来演示一下

集成步骤

1.Maven引入ClickHouse提供的JDBC依赖

<!--   ClickHouse JDBC 依赖    --><dependency><groupId>ru.yandex.clickhouse</groupId><artifactId>clickhouse-jdbc</artifactId><version>0.1.53</version></dependency>

2.数据源配置

下面数据源配置代表多数据源配置,单数据源配置按照单格式写即可

本人搭建的ClickHouse没有账密,它默认就是default用户,然后默认连接default库

spring:datasource:dynamic:primary: clickHouseDataSourcedatasource:clickHouseDataSource:url: jdbc:clickhouse://IP:端口号/defaultusername: defaultpassword:driver-class-name: ru.yandex.clickhouse.ClickHouseDriver

3.数据Entity对象创建

建表相关操作请见ClickHouse复杂查询单表亿级数据案例(可导出Excel)_clickhouse单表查询-CSDN博客

@Data
@TableName("sales")
public class Sales {@TableId(type = IdType.AUTO)private Long id;private Long productId;private Integer quantity;private Double price;private Date timestamp;private Long customerId;private Double discount;private Double totalAmount;private String paymentMethod;private String status;private String shippingAddress;private String billingAddress;private String orderNotes;private Date createdAt;private Date updatedAt;private Double shippingCost;private Double tax;private String orderSource;private String fulfillmentStatus;private String productName;private String productCategory;
}

4.基本架构搭建Mapper、Service、ServiceImpl、Controller

@Mapper
public interface SalesMapper extends BaseMapper<Sales> {
}
public interface ISalesService extends IService<Sales> {
}
@Service
public class SalesServiceImpl extends ServiceImpl<SalesMapper, Sales> implements ISalesService {
}
@RestController
@RequestMapping("/sales")
public class SalesController {@GetMapping("/{id}")@DS("clickHouseDataSource")public AppResponse<?> getSalesById(@PathVariable Long id) {LambdaQueryWrapper<Sales> queryWrapper=new LambdaQueryWrapper();// 数据多,先查询10条试试queryWrapper.last("limit 10");return AppResponse.success(salesService.list(queryWrapper));}
}

5.尝试调用

此时我们开足马力启动项目,调用接口访问这个查询,拿到了数据

还有很多产品都是基于ClickHouse进行二次开发或者加强功能,比如火山云的ByteHouse等,这个组件使用率的上升趋势还是很明显的

http://www.lryc.cn/news/459480.html

相关文章:

  • 什么社交平台可以找到搭子?分享多款找搭子必备的人气软件
  • STM32 RTC实时时钟 F407 寄存器
  • 矩阵等价、向量组等价、线性方程组同解与公共解的关系
  • [Linux] Linux 进程程序替换
  • 【Linux系统编程】第三十一弹---深入理解静态库:从零开始制作与高效使用的完全指南
  • FFmpeg 简介及其下载安装步骤
  • 使用CSS+SVG实现加载动画
  • 物联网(IoT)的未来发展:智能互联时代的到来
  • 斯坦福 CS229 I 机器学习 I 构建大型语言模型 (LLMs)
  • Java->排序
  • linux 大小写转换
  • Linux——传输层协议
  • centos系列,yum部署jenkins2.479.1,2024年长期支持版本
  • 正则表达式-“三剑客”(grep、sed、awk)
  • 数智时代的新航向:The Open Group 2024生态系统架构·可持续发展年度大会邀您共筑AI数字新时代
  • TensorFlow 的核心概念
  • SpringBoot教程(二十四) | SpringBoot实现分布式定时任务之Quartz(动态新增、修改等操作)
  • Matlab详细学习教程 MATLAB使用教程与知识点总结
  • 【ELKB】Kibana使用
  • ChatGPT免费使用:人工智能在现代社会中的作用
  • 腾讯音乐:从 Elasticsearch 到 Apache Doris 内容库升级,统一搜索分析引擎,成本直降 80%
  • CubeMX的FreeRTOS学习
  • C语言初始:数据类型和变量
  • Linux shellcheck工具
  • FLINK SQL时间属性
  • android——Groovy gralde 脚本迁移到DSL
  • 工程项目管理中的最常见概念!蓝燕云总结!
  • PostgreSQL AUTO INCREMENT
  • 24-10-13-读书笔记(二十五)-《一只特立独行的猪》([中] 王小波)用一生来学习艺术
  • Java—继承性与多态性