Skip to content

一直以来很喜欢Thinkphp的数据操作风格,所以在nodejs上也封装了一个MYSQL数据库的常用操作,支持链式调用,实现语义化的数据库操作。

License

Notifications You must be signed in to change notification settings

haizlin/h-mysql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
wangjian
Dec 26, 2024
11b4917 · Dec 26, 2024

History

60 Commits
Sep 27, 2021
Dec 26, 2024
Apr 29, 2020
Mar 18, 2020
Dec 26, 2024
Mar 18, 2020
Mar 18, 2020
Mar 18, 2020
Dec 12, 2019
Apr 29, 2020
Mar 18, 2020
Dec 26, 2024
Mar 18, 2020

Repository files navigation

h-mysql

  • 网站访问项目github地址
  • 介绍:一直以来很喜欢Thinkphp的数据操作风格,所以在nodejs上也封装了一个MYSQL数据库的常用操作,支持链式调用,实现语义化的数据库操作。

安装及引用

// npm安装
npm i h-mysql --save

// yarn安装
yarn add h-mysql

const hMysql = require('h-mysql');

初始化配置

const hMysql = new mysql({
  host: '127.0.0.1',
  user: 'root',
  password: '',
  database: 'test-db',
  port: 3306,

  acquireTimeout: 1000,
  waitForConnections: true,     //是否等待链接  
  connectionLimit: 10,          // 连接池数
  queueLimit: 0,                // 排队限制 

  defaultSqlPre: '',
  isPool: true,
  isDebug: true
});

const {error, result} = await hMysql.table('user')
  .where({ id: 100 })
  .select()
  .execSql();

console.log(result);

调用方式

规则:调用方法跟顺序无关

let hMysql = new hMysql(config)

hMysql.table()
      .where()
      .limit()
      .select()
      .execSql()
  • 添加:[insert] [table] [data]
  • 查询:[select] [field] from [table] [alias] [where] [join]
  • 更新:[update] [table] set [data] [where]
  • 删除:[delete] from [table] [where]

迭代计划

  • 完善API文档、架构文档
  • 完善案例
  • 批量插入、批量更新、批量删除
  • 支持更复杂的链式操作
  • 添加测试用例
  • 重写异常处理方式
  • 添加性能测试、性能优化并添加每条语句执行的时间
  • 添加安全测试,防注入
  • 增加对数据库的操作(现在的功能都是针对表)
  • 考虑是不是要支持ORM

版本更新

  • v1.0.0
    • 实现常用方法的链式调用,未经过测试,慎用到生产环境,待更新到完善

项目骨干

贡献

欢迎大家到 Issues 交流或通过提交PR的形式对本项目进行贡献

License

MIT

About

一直以来很喜欢Thinkphp的数据操作风格,所以在nodejs上也封装了一个MYSQL数据库的常用操作,支持链式调用,实现语义化的数据库操作。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published