CrateDB初探(三):JDBC

2022-02-25 00:00:00 版本 设置 方式 数据源 设置为

本文简略地介绍了通过JDBC连接到CrateDB,并进行简单数据操作。

过程大致与连接到其他数据库(比如mysql)相似,需要注意驱动与db版本兼容性问题

兼容性
jdbc驱动与CrateDB版本需要遵循以下兼容性

注意:

当CrateDB版本在2.1.x以后,通过jdbc连接时必须提供一个用户名,默认是crate
在实现细节方面,数据源无法使用(DataSource is not supported.)这里有疑问,见Spring+CrateDB小节


添加Maven依赖

  • 添加bintray仓库

    使用Java JDBC原生方式

    准备工作

    • 通过docker启动一个实例

      代码实现

      参数:

      user:DB版本2.1.x以上必须设置,如果没有自定义设置过数据库用户,则为CrateDB superuser, 即crate
      strict:当设置为false,如果用到了CrateDB不支持的特性(比如事务)程序不会抛出异常,默默执行; 当设置为true,则会抛出异常。默认为false。
      其他参数见官方文档
      数据操作
      因为官方说无法使用datasource(实现细节),因此考虑用原始的方式进行数据操作(这里有个疑问,实际是可以使用datasource的,见下面Spring+CrateDB小节)

      插入

      关于FetchSize的设置

      设置fetch size可以提高查询读取速度,在CrateDB中正确使用fetch size的姿势是需要将autoCommit设置为false

      官方示例代码

      在查询前statement.setFetchSize(10);

      代码片段

      Spring+CrateDB方式

      使用了原始的Spring-jdbc方式连接到CrateDB

      配置文件

      增加数据源依赖jar包

      db.properties

      配置驱动类名、url、用户名(密码为空)

      application.xml

      配置数据源、JdbcTemplate的java bean

      代码片段

      DataSource的问题

      在CrateDB官方文档中提到

      DataSource is not supported.

  • Spring+MyBatis+CrateDB方式

    引入MyBatis作为ORM框架,在上节基础上测试连接

    配置文件

    增加mybatis的jar包

    增加mybatis的spring配置文件

    代码片段

    实体类

  • 来源 https://blog.csdn.net/gxf1027/article/details/104914382?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164577112916781685365149%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164577112916781685365149&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-104914382.pc_search_result_cache&utm_term=CrateDB&spm=1018.2226.3001.4187

相关文章