Skip to content

Data Loader Guide

jitwxs edited this page Mar 30, 2022 · 6 revisions

Addax 支持以下方式的数据加载:

  • 本地 CSV 格式的数据加载
  • 本地 JSON 格式的数据加载
  • MySQL 查询结果的数据加载

实现数据加载功能,仅需要如下三步,具体例子参见 Quick Start 页面

  1. 根据加载类型,得到 Loader 实例
  2. 提供 LoaderProperties
  3. 加载数据

Loader

对于本地类型的数据加载,您可直接获取到 Loader 的静态实例:

com.github.jitwxs.addax.core.loader.Loader#FILE_LOADER

对于 MySQL 数据加载,您需要提供 MySQL 连接所必须的参数,用于构建 MySQLConnection,然后调用 Loader 的构造函数即可。

final MySQLConnection connection = new MySQLConnection(
                container.getDriverClassName(), // mysql 驱动名
                container.getUsername(), // mysql 用户名
                container.getPassword(), // mysql 密码
                container.getJdbcUrl()); // mysql jdbc 连接名

final Loader loader = new Loader(connection);

LoaderProperties

LoaderProperties 用于告知 Addax 您所期望加载数据的路径以及别名信息,您可使用 builder() 构造器模式进行初始化。

参数 可选性 备注
url 必填 加载数据路径,根据加载类型的不同,该路径可能是文件路径,也可能是 SELECT 语句
extraFields 非必填 用于指定查询结果的字段,和 Java 实体的额外映射关系。
Addax 默认使用 下划线 --> 驼峰 的映射规则,如果您有不满足该规则的字段,可指定该参数,必须成对配置。

您可参考以下测试用例,了解实际的用法:

描述 用例
url 为 SELECT 语句 com.github.jitwxs.addax.sample.bean.WebsiteUserTest#loadMySQL
url 为文件路径 com.github.jitwxs.addax.sample.bean.WebsiteUserTest#loadCsv
额外指定字段映射 com.github.jitwxs.addax.core.loader.LoaderTest#loadingCsvWithExtraField

Execute

调用如下代码即可完成数据的加载,返回值为 List 类型,即使仅有一条数据。

final List<T> userList = loader.loading(T.class, properties);

Clone this wiki locally