1.DateUtil:日期处理

日期字符串转换为Date类型

parse(dateString)
将各种格式的日期字符串转换为Date类型,示例:

  1. var dte = DateUtil.parse(‘2010-01-01 00:00:00’);

高级用法 parse(dateString, timeoffset): 转换的同时,指定时区偏移量,示例:

  1. // 东8区
  2. var dte = DateUtil.parse('2010-01-01 00:00:00', 8);
  3. // 0时区
  4. var dte = DateUtil.parse('2010-01-01 00:00:00', 0);

使用第一种方式,会默认获取java的运行环境时区,获取方式

  1. jinfo <PID> | grep user.timezone

获取日期格式

determineDateFormat(dateString)
获取日期格式,示例:

  1. var format = DateUtil.determineDateFormat(‘2010-01-01 00:00:00’);

将时间戳按照指定格式转为日期字符串

timeStamp2Date(timestamp, format)
将时间戳按照指定格式转为日期字符串,示例:

  1. var dteStr = DateUtil.timeStamp2Date(1592233019140, yyyy-MM-dd HH:mm:ss’);

对日期的年月日时分秒进行加减运算

addYears/addMonths/addDays/addHours/addMinutes/addSeconds
对日期的年月日时分秒进行加减运算,示例:

  1. var dte = DateUtil.addYears(new Date(), 1);
  2. dte = DateUtil.addYears(dte, -1);

对日期的年月日时分秒进行比较运算

sameYear/sameMonth/sameDay/sameHour/sameMinute/sameSecond
对日期的年月日时分秒进行比较运算,示例:

  1. if ( DataUtil.sameYear(new Date(), new Date()) ) {
  2. ...
  3. }

日期比较

示例:

  1. var dte1 = new Date();
  2. var dte2 = new Date();
  3. if(dte1.getTime() >= dte2.getTime()){
  4. ...
  5. }

2.idGen:ID生成器

生成uuid

示例:

  1. var uuid = idGen.uuid();

生成MongoDB ObjectId

示例:

  1. var oid = idGen.objectId();

生成MongoDB ObjectId字符串部分

示例:

  1. var oidStr = idGen.objectIdStr();

3.split_chinese:汉语分词工具

**split_chinese(String inputString, String language)**

参数说明

  • inputString: 需要进行分词的字符串
  • language: inputString的语言字体,只可以是以下几种
    • 简体中文: CH_S
    • 繁体中文: CH_T
    • 香港繁体: HK_T
    • 台湾繁体: TW_T

返回值
数组类型,表示分词后的结果集

  1. var strs = split_chinese(“我是中国人”, CH_S”);

4.networkUtil: 网络工具

获取第一张网卡的mac地址

示例:

  1. var mac = networkUtil.GetAddress("mac");

获取ip地址

示例:

  1. var ip = networkUtil.GetAddress("ip");

5.常用类型(HashMap, ArrayList, Date)

HashMap: 对象类型

示例:

  1. var map = new HashMap();
  2. map.put(“name”, test”);
  3. map.remove(“name”);

ArrayList: 数组类型

示例:

  1. var list = new ArrayList();
  2. list.add(“test1”);
  3. list.remove(0);

Date: 日期类型

示例:

  1. var dte = new Date();
  2. var year = dte.getYear()+1900;

6.数据CRUD操作

对接Tapdata内建数据连接

  • source: 操作源端的数据库
  • target: 操作目标端的数据库

根据数据库类型分为结构化数据库和MongoDB两种

execute(Map executeObj): 数据库执行操作

返回值:布尔类型,表示操作结果(true - 成功,false - 失败)
executeObj参数说明

  • 结构化数据库

    • sql: 针对关系型数据库的sql执行语句
      1. var result = source.execute({sql: update test.user set name=’user001 where id = 1”});
  • MongoDB数据库

    • database: 操作的数据库名称
    • collection: 操作的集合名称
    • op: 操作(insert/ update/ delete)
    • filter: 更新或者删除的条件
    • opObject: 新增、更新、删除的具体数据
    • upsert: 是否采用MongoDB的upsert模式,不存在进行新增,存在则更新,默认:false
    • multi: 是否更新多条记录,默认:false
  1. var result = target.execute({
  2. database: test”,
  3. collection: user”,
  4. op: update”,
  5. filter: {id: 1},
  6. opObject: {name: user001”, age: 20},
  7. upsert: true
  8. });

executeQuery(Map executeObj): 数据库查询操作

返回值:数组类型,表示查询的结果集
executeObj参数说明

  • 结构化数据库

    • sql: 查询语句
      var users = source.executeQuery({sql: “select * from test.user where age>10”});
      
  • MongoDB

    • database: 操作的数据库名称
    • collection: 操作的集合名称
    • filter: 更新或者删除的条件
    • sort: 排序条件 (可选)
    • limit: 限制输出条数(可选)
      var users = target.executeQuery({
      database: “test”,
      collection: “user”,
      filter: {age: {$gt: 10}},
      sort: {age: -1},
      limit: 10
      });
      

      call(String funcName, List> params): 执行存储过程及函数

      该方法只有结构化数据库源才能使用,可执行指定的数据库存储过程及自定义函数
      返回值: 键值对类型, 根据存储过程定义的返回值,返回结果对象
      参数说明
  • funcName: 存储过程/函数名称

  • params: 传入的参数
    • mode: 入参类型,空值默认:in
      • in: 传入
      • out: 传出
      • in/out: 传入并传出
    • name: 参数名称
    • value: 参数的值
    • type: 参数类类型

官网:cloud.tapdata.net 联系我们进入用户交流群