在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:mysql-convert开源软件地址:https://gitee.com/tmkmk/mysql-convert开源软件介绍:mysql-convert介绍由特定格式下的 json 转为 mysql 语句 软件架构├─dist ts编译后存放路径,其结构基本与src一致,没啥好看的├─src 源码目录|─test 测试开发目录| |─dev.ts 测试用代码很少一看就懂│ └─其他文件 没啥说的.偶尔测试会用 安装教程npm i tmk-pay 使用说明
param 参数介绍 备注:凡是没有默认值的,都为必填项
[propName: string]: [number, any?, any?]; typeField 数据类型: 例:{ 字段名1:[数据最小值,数据最大值,是否整数], // 如果成员为3,则代表此字段为数值型,如果第三参数为非 0/空,则表示整数,否则为float 字段名2:[数据长度,超出长度后截取方式] // 如果成员为2,则表示此字段为文本型.数据长度则为此数据最大长度,超出长度后根据 超出长度截取方式进行截断数据. if(超出长度后截取方式) 最终值为取前 数据长度 数据.else 取数据尾部 长度为数据长度的值.} 步骤 3 中所得 tmkMysqlConvert;const sql=tmkMysqlConvert.sql(object); // sql 就是最终 sql 语句;object 成员取值如下: method:方法,取值范围如下; 默认:0
table:如果使用 new Literal("string") 则值完全等于 string.否则取之前新建对象传入的数据表名.where: 条件语句,为数组,其成员数据如下:注:凡是没有默认值则为必填项.否则此条数据作废.
value: 在改/增时有效.修改/新增 对应数据.属性名就是字段名,值为当前所设值.优先判定属性名是否在新建实例时所设field内,不在其内则放弃.对于非数值类型 则先 JSON 数据,再进行 mysql 特殊符号转码.如果是文本型数据,则判断是否超出字段允许长度.如果超出,则根据规则进行截取字符串的 前/后 限定长度数据. 如果方法为新增数据则:当做完判定后,在根据最终得到的数据进行字段判定.如果缺少某一字段.则根据字段类型进行填充,数值类型填充为0,文本型填充为空文本"". limit:int 默认:创建对象时设定的值 数据长度限制.查找/修改 数据时有效offset:int 默认:创建对象时设定的值 数据起始偏移.查找/修改 数据时有效other: Literal, 默认:空. 处于安全考虑 此值必须是 Literal 类型.此值只能由后端手动添加. 这里的值将附加在 mysql语句中 limit前面.用于自定义操作.例如添加排序语句等. 参与贡献就我一个,但使用了 n 多包. 特技由前端进行 mysql 语句规则创建,发送 json 到后端.然后后端解析 json 为 object 后,将值传入 sql 方法 得到返回值就是 sql 语句了.安全防注入.并且规则几乎能满足大多数需求了.甚至可以达到多表联查的功能,当然,非标准方法得用到 Literal,而 Literal 只能由 new Literal("xxx")进行创建. npm 上传包命令npm publish --registry http://registry.npmjs.orgnpm config set registry https://registry.npmjs.orgnpm publish --access public --registry https://registry.npmjs.orgnpm config set scope mac-xiang --global npm version prerelease npm version prepatch别笑,记不住 |
请发表评论