dataj4mysql 简介

dataj4mysql 是一款通过http接口实现任意数据写入msyql工具,支持自动识别JSON节点,自动建立字段,支持增量更新,提供web控制台增加单一索引,重置字段类型,能够很方便的把json数据同步到mysql。dataj4mysql使用io3x独创AIC(All In classes)开发架构模式,极其简单轻量代码实现json到mysql的管理并附带一套基于yaml配置的java接口文档系统,结构如下

│ deploy.bat

│ LICENSE

│ pom.xml

│ README.md

├─deploy

└─src

├─main

│ ├─java

│ │ └─com

│ │ └─github

│ │ └─io3x

│ │ │ myApplication.java

│ │ │

│ │ ├─api

│ │ │ │ docController.java

│ │ │ │

│ │ │ └─classes

│ │ │ funcApi.java

│ │ │

│ │ ├─app

│ │ │ │ func.java

│ │ │ │ WebConfig.java

│ │ │ │

│ │ │ ├─libs

│ │ │ │ ├─classes

│ │ │ │ │ anyTree.java

│ │ │ │ │ db.java

│ │ │ │ │

│ │ │ │ └─lock

│ │ │ │ dbTableLock.java

│ │ │ │ internLock.java

│ │ │ │

│ │ │ ├─sboot

│ │ │ │ │ dbRecordRunner.java

│ │ │ │ │ R.java

│ │ │ │ │

│ │ │ │ ├─Config

│ │ │ │ │ WebSecurityConfig.java

│ │ │ │ │

│ │ │ │ └─Interceptor

│ │ │ │ SecurityInterceptor.java

│ │ │ │

│ │ │ └─Utils

│ │ │ CollectorUtils.java

│ │ │ RequestParamsToMap.java

│ │ │ StrUtils.java

│ │ │

│ │ ├─config

│ │ │ CorsConfig.java

│ │ │ TaskExcutor.java

│ │ │

│ │ ├─demo

│ │ │ indexController.java

│ │ │

│ │ └─syncd

│ │ │ adminController.java

│ │ │ Cron.java

│ │ │ manualController.java

│ │ │ toolController.java

│ │ │

│ │ └─classes

│ │ asyncHandleEvent.java

│ │

│ └─resources

│ │ application.yml

│ │ banner.txt

│ │ logback-spring.xml

│ │

│ ├─static

│ └─templates

│ │ doc.yaml

│ │

│ ├─api

│ │ └─doc

│ │ doc.html

│ │ header.html

│ │ index.html

│ │ widget.html

│ │

│ └─syncd

│ │ R.html

│ │

│ └─admin

│ footer.html

│ header.html

│ index.html

│ metadata.html

└─test

└─java

封面

mysql json对应java中哪个基本类型_字段

mysql json对应java中哪个基本类型_java_02

基本约定

JSON结构前后不一致时,默认使用0填充,系统暂时不支持datetime等时间日期类型(只能算text或者varchar),否则变更字段类型不通用,如果json中含有时间日期类型还需要做排序处理,建议调用接口前转化成 20200912 这种数据形式

生产部署请使用内网地址或者加入nginx白名单 工具没有内置安全机制

每个生成的mysql数据库表含有主键字段xxx3id索引,json中需要避免重名

当字段不存在时,首次写入需要判断相对耗时较长,自动建立后就很快

部署

可以手动编译源码或者直接下载jar包运行即可

手动编译

编译 执行

call mvn clean

call mvn package -Dmaven.test.skip=true

复制target下面的dataj4mysql.jar、templates目录到到发布目录,执行jar -jar dataj4mysql.jar 即可启动(启动前请修改配置)

windows 系统直接运行 deploy.bat 即可生成jar包在deploy目录下

下载编辑好的jar包直接运行

修改 applacation.yml mydb节点下面mysql连接信息,然后打开 http://localhost:13306 即可

修改 管理平台密码 默认是 admin13306

基本功能

直接写入json到mysql数据库表 test (该接口无去重限制)

接口地址 /syncd/tool/test 或 /syncd/tool/json2one

mysql json对应java中哪个基本类型_mysql_03

直接入库后如下图

mysql json对应java中哪个基本类型_mysql 同步写入记录_04

手动维护数据字段类型

默认不能识别类型使用text,默认值0

支持一键修改字段类型及单一索引,修改数据表备注

默认myisam储存引擎,如果需要修改引擎,需要修改源码找到创建表sql处即可

mysql json对应java中哪个基本类型_mysql_05

执行mysql查询语句,返回JSON

mysql json对应java中哪个基本类型_字段_06

修改更新表sql语句

mysql json对应java中哪个基本类型_mysql 同步写入记录_07

同步JSON到mysql

申明的字段值不能重复,且写入数据必须大于已记录的id,否则不会写入

申明的字段最好设置下是数字类型,且有索引id

mysql json对应java中哪个基本类型_mysql_08

mysql json对应java中哪个基本类型_字段_09

如当前样例数据的标记字段是:aewme_live_data_id 那么如果存在aewme_live_data_id 如 325 则数据不会写入,如果不存在,但是一批数据id均小于325 这批数据也不会写入,如果需要补数据,可通过页面修改元数据最大记录id

修改同步数据最大索引值

mysql json对应java中哪个基本类型_字段_10

同步JSON到mysql-无数字增量

相对于上一个接口,该接口只判断是否存在 aewme_live_data_id,并不判断id最大值是否超过索引记录

同步JSON到mysql-无数字增量-联合字段索引

mysql json对应java中哪个基本类型_mysql 同步写入记录_11

如样例数据,每天的消耗汇总是一条记录,不能重复写入,有ymd和cost两个字段标记,则限制参数传数组union_key[]得传两个,数据表会自动生成一个pkey记录是否存储过,kpey字段名称任意,由接口传入的new_key名称决定

暂时有个bug,就是同一批数据的时候还是会记录两条数据

内置无入侵无js依赖io3x-doc 接口文档使用说明

直接使用yaml格式配置文件定义文档,freemarker模型引擎翻译,使用html自带表单提交到iframe内置页面进行调试

每个接口定义一个标识

demotest:

title: 这是标题

url: 这是url地址

more: |

说明:

视频普通上传为了2个步骤 1.上传视频获取提取码 2.通过提取码获取转码后的视频和缩略图地址

步骤1:返回成功标识 识别ret="yes" 记住sn码 通过视频提取接口获取转码后的视频

{
"ret": "yes",
"msg": "ok",
"ser": "H-P",
"ticket": "0VE7N13EA5SLXI6N",
"info": {
"sn": "KLBW42UOQOVG55YR"
}
}

b_fds: |

access_token|这里是默认值|授权码

img||图片上传|file

more||多行文本|textarea

tags[]||标签1

tags[]||标签2

tags[]||标签3

e_fds: |

isure||是否确定(11是,10否)

格式说明

demotest 标识一个接口标识

title 接口标题

url 调用的地址:可以是内部地址路径如/xx/xx 也可以是其它项目地址 如http://www.io3x.com/api/xx/xx

more 接口的一些说明,想写什么就写什么,很简单的就可以支持多行

b_fds 节点下面表示必填字段,使用|字符分额,第一个是字段名称,第二个是默认值,第三个字段说明,第四个是区分是当行(默认不填)多行(textarea)还是文件(file)

e_fds 同上

直接编辑header.html 加入菜单

io3x-doc基本使用样例

实际展示效果

mysql json对应java中哪个基本类型_字段_12

项目依赖支持特别感谢

springboot及相关套件

jfinal mysql操作模型 com.liucf.db.record

Kimochi.css 接口文档UI