核心依赖引入

<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.1.53</version>
</dependency> <!--Mybatis-plus ORM-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.9</version>
</dependency>

建立ClickHouse的测试数据库和表

配置数据源

spring:
application:
name: clickhouse-project
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:clickhouse://120.53.238.87:8123/study_db
driver-class-name: ru.yandex.clickhouse.ClickHouseDriver
username: default
password: mybatis-plus:
type-aliases-package: com.gton.user.entity
mapper-locations: classpath*:com/gton/user/mapper/xml/*Mapper.xml,classpath*:/mapper/**/*.xml
configuration:
map-underscore-to-camel-case: true #开启驼峰命名
cache-enabled: false #开启二级缓存
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 控制台日志
check-config-location: true # 检查xml是否存在
type-enums-package: com.gton.enumPackage #通用枚举开启
global-config:
db-config:
logic-not-delete-value: 1
logic-delete-field: isDel
logic-delete-value: 0
server:
port: 18123

Mybatisplus的逆向工程或者EasyCode全自动代码生成器

完成MapperXML 、 MapperInterface 、 Entity 、 Controller 、Service

与ServiceImpl 的建立

Entity实体类如下

package com.gton.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors; import java.io.Serializable; /**
* (TableClickhouse)表实体类
*
* @author 郭童
* @since 2023-05-21 20:14:14
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "TableClickhouse", description = "EasyCode")
public class TableClickhouse implements Serializable {
private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.ASSIGN_ID)
@ApiModelProperty("${column.comment}")
private Integer id; @TableField(value = "name")
@ApiModelProperty("${column.comment}")
private String name; @TableField(value = "age")
@ApiModelProperty("${column.comment}")
private Integer age; @TableField(value = "data")
@ApiModelProperty("${column.comment}")
private String data; }

Mapper核心就是要自己写Update/delete:他们与Mysql的不一样

删除:
ALTER TABLE study_db.table_clickhouse DELETE WHERE id = #{idw}
修改:
ALTER TABL

ClickHouse的修改和删除 SQL操作与Mysql不相同。注意它是异步的,不会返回执行结果!!

package com.gton.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import com.gton.entity.TableClickhouse;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update; import java.util.List; /**
* (TableClickhouse)表数据库访问层
*
* @author 郭童
* @since 2023-05-21 20:14:14
*/
@Mapper
@SuppressWarnings("all")
public interface TableClickhouseMapper extends BaseMapper<TableClickhouse> { // 批量插入
int insertBatchSomeColumn(@Param("list") List<TableClickhouse> batchList); /**
* Description: Clickhouse 的删除语句
*/
@Delete("ALTER TABLE study_db.table_clickhouse DELETE WHERE id = #{idw}")
Integer removeByIdsClickhouse(@Param("idw") Long idw); /**
* Description: Clickhouse 修改Clickhouse
*/
@Update("ALTER TABLE study_db.table_clickhouse UPDATE name=#{namew} WHERE id = #{idw}")
boolean updateClickhouse(@Param("idw") Long idw, @Param("namew") String namew); /**
* Description: Clickhouse 修改Clickhouse2
*/
@Update("ALTER TABLE study_db.table_clickhouse UPDATE " +
"name=#{name} ," +
"age=#{age} ," +
"data=#{data} " +
"WHERE id = #{id}")
Integer updateClickHouseById(TableClickhouse tableClickhouse);
}

完事 !!利用Swagger测试!!

Springboot+Mybatisplus+ClickHouse集成的更多相关文章

  1. spring-boot+mybatisPlus+shiro的集成demo 我用了5天

    spring-boot + mybatis-plus + shiro 的集成demo我用了五天 关于shiro框架,我还是从飞机哪里听来的,就连小贱都知道,可我母鸡啊.简单百度了下,结论很好上手,比s ...

  2. SpringBoot | 第九章:Mybatis-plus的集成和使用

    前言 本章节开始介绍数据访问方面的相关知识点.对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的.目前,绝大部分公司都选择MyBatis框架作为底层数据库持久化框 ...

  3. springboot 零xml集成mybatis-plus

    工程结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  4. IDEA上创建 Maven SpringBoot+mybatisplus+thymeleaf 项目

    概述 在WEB领域,Java也是在不断的探索和改进,从开始的JSP--->Struts1--->Struts2+Spring--->Spring MVC--->SpringBo ...

  5. springboot+mybatisplus+sharding-jdbc分库分表实例

    项目实践 现在Java项目使用mybatis多一些,所以我也做了一个springboot+mybatisplus+sharding-jdbc分库分表项目例子分享给大家. 要是用的springboot+ ...

  6. javaweb各种框架组合案例(八):springboot+mybatis-plus+restful

    一.介绍 1. springboot是spring项目的总结+整合 当我们搭smm,ssh,ssjdbc等组合框架时,各种配置不胜其烦,不仅是配置问题,在添加各种依赖时也是让人头疼,关键有些jar包之 ...

  7. springboot + mybatisPlus 入门实例 入门demo

    springboot + mybatisPlus 入门实例 入门demo 使用mybatisPlus的优势 集成mybatisplus后,简单的CRUD就不用写了,如果没有特别的sql,就可以不用ma ...

  8. SpringBoot12 QueryDSL01之QueryDSL介绍、springBoot项目中集成QueryDSL

    1 QueryDSL介绍 1.1 背景 QueryDSL的诞生解决了HQL查询类型安全方面的缺陷:HQL查询的扩展需要用字符串拼接的方式进行,这往往会导致代码的阅读困难:通过字符串对域类型和属性的不安 ...

  9. SpringBoot(七):集成DataSource 与 Druid监控配置

    绑定DataSource:Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource,Druid是Java语言中最好的数据库连接池,并且能够提供 ...

  10. DEMO: springboot 与 freemarker 集成

    直接在 DEMO: springboot 与 mybatis 集成 基础上,进行修改. 1.pom.xml 中引用 依赖 <dependency> <groupId>org.s ...

随机推荐

  1. java匿名内部类的初解

    java原生态中的匿名内部类 1.匿名内部类的定义 使用匿名内部类的两种的方法 建立父类,重写父类的方法 实现接口的方法 2.普通类的实现 1. 普通类实现 实现普通类需要先声明对一个类的对象,再调用 ...

  2. Delegation Pattern 委托模式

    原文:https://zh.wikipedia.org/wiki/%E5%A7%94%E6%89%98%E6%A8%A1%E5%BC%8F 委托模式是软件设计模式中的一项基本技巧.在委托模式中,有两个 ...

  3. 给你的 Discord 接入一个既能联网又能画画的 ChatGPT

    如果有这样一款 Discord 机器人,它既能访问互联网,又能绘画,还能给 YouTube 视频提供摘要.最重要的是,它是完全免费的,不需要提供 OpenAI 的 API Key,我就问你香不香? 现 ...

  4. 2. IOC

    ‍ 对于 IOC 的理解 : 在 Spring 框架中,IOC(Inversion of Control,控制反转)是一个重要的概念,它是框架实现松耦合的一种方式.在传统的程序设计中,应用程序会主动创 ...

  5. FPGA加速技术:在数据中心和云计算中的应用

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2 核心模块实现 3.3 集成与测试 4. 应用示例与代码实现讲解 4.1. 应用场景介绍 4. ...

  6. 容器基础-- namespace,Cgoup 和 UnionFS

    Namespace 什么是 Namespace ? 这里的 "namespace" 指的是 Linux namespace 技术,它是 Linux 内核实现的一种隔离方案.简而言之 ...

  7. -Xmx参数建议设置为系统内存的多少?

    在设置 -Xmx 参数时,建议将其设置为系统内存的一定比例.具体的比例需要根据应用程序的特点.系统资源的限制等各种因素进行综合考虑. 如果将 -Xmx 参数设置得过小,可能会导致 JVM 分配的堆内存 ...

  8. Sentieon | 每周文献-Population Sequencing-第一期

    群体基因组系列文章-1 标题(英文):The Impact of ACEs on BMI: An Investigation of the Genotype-Environment Effects o ...

  9. Java_Day17_作业

    1:需求:递归删除带内容的目录 假设删除当前项目下的目录:demo,demo中可以有文件夹自己给出 2:需求:请大家把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台. 3:下 ...

  10. 全网最详细4W字Flink入门笔记(下)

    本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 目录 Flink State状态 CheckPoint & SavePoint CheckPoint原理 Sav ...