ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  url: jdbc:clickhouse://172.81.205.216:8123/default
  username: default
  password:
  initialSize: 10
  maxActive: 100
  minIdle: 10
  maxWait: 6000

Bean配置:用了druid监控所以在这里边初始化了,这个 DataSource 也可以在启动类里初始化。



@Configuration
public class DruidConfig {
@Bean
@ConfigurationProperties(prefix = “spring.datasource.click”)
public DataSource druidDataSource() {
return new DruidDataSource();
}
}
// 或者用
@SpringBootApplication
@MapperScan(value = “com.example.demo.**.mapper”)
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
@ConfigurationProperties(prefix = “spring.datasource.click”)
public DataSource druidDataSource() {
return new DruidDataSource();
}
}


### 3.使用


**尝试使用mybatis-plus-generator代码生成报错:**



DB::Exception: Syntax error: failed at position 6 (‘table’) (line 1, col 6): table status WHERE 1=1 AND NAME IN (‘tb_stat’)


所以entity、mapper、service、controller使用的是其他库表生成的代码然后修改的。这里只贴出重要的类:  
 **entity代码:** statDate字段要使用@JsonFormat格式化日期字符串。



@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = “tb_stat”)
@ApiModel(value = “Stat对象”, description = “”)
public class Stat implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = “ID”)
private String id;
@ApiModelProperty(value = “区域”)
private String region;
@ApiModelProperty(value = “分组”)
private String group;
@ApiModelProperty(value = “昨天”)
private Integer yesterday;
@ApiModelProperty(value = “今天”)
private Integer today;
@ApiModelProperty(value = “时间”)
@JsonFormat(locale=“zh”, timezone=“GMT+8”, pattern=“yyyy-MM-dd HH:mm:ss”)
private Date statDate;
}


**controller代码:**



@RestController
@RequestMapping(“/stat”)
public class StatController {
@Autowired
private IStatService statService;
@PostMapping(“/add”)
public boolean addStat(@RequestBody Stat stat) {
return statService.save(stat);
}
@GetMapping(“/del/{id}”)
public boolean delStatById(@PathVariable String id) {
return statService.removeById(id);
}
@PostMapping(“/update”)
public boolean updateStat(@RequestBody Stat stat) {
return statService.updateById(stat);
}
@PostMapping(“/list”)
public List getStatList() {
LambdaQueryWrapper query = Wrappers.lambdaQuery(Stat.class);
return statService.list(query);
}
}


**测试结果说明:**  
 添加和查询可以正藏使用mybatis-plus的api,删除和更新时会报错:



// 这个是删除的报错
DB::Exception: Syntax error: failed at position 1 (‘DELETE’):
DELETE FROM tb_stat WHERE id=‘10’.

// 这个是更新的报错
DB::Exception: Syntax error: failed at position 1 (‘UPDATE’) (line 1, col 1):
UPDATE tb_stat SET region=‘222’,group=‘222’,yesterday=222,today=222,stat_date=‘2020-03-25 12:13:00’ WHERE id=‘4’.


**报错的原因说明:**  
 clickhouse 数据库的语法有一些不同:



– 删除语法
alter table tb_stat delete WHERE id=‘10’;

– 修改语法
alter table tb_stat update today=222 WHERE id=‘4’;


所以删除和修改的SQL要自己在xml文件内写。


### 4.clickhouse应用场景(copy):




![img](https://img-blog.csdnimg.cn/img_convert/cff3ba36b9878ac0d591bc29e9c4eac5.png)
![img](https://img-blog.csdnimg.cn/img_convert/d3d00cbb1c1e806a6f13584ec6cc5178.png)
![img](https://img-blog.csdnimg.cn/img_convert/ad2eb0de1c0caa2a3002b122e9fda3b3.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618608311)**

程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618608311)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值