1.0.6 • Published 4 years ago

sql-man v1.0.6

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

Generate ORM SQL for common databases

配置

在项目根目录建立文件.sqlman.js

module.exports = {
  // sql文件的路径,用于构建一个sql语句缓存集
  // 除此配置之外,还可以手动创建sql语句缓存集
  sqlDir: 'app/sql',
  // 批量处理时,每次提交的条数,默认500
  maxDeal: 500,
  // 数据处理的默认选项,如果不在这里设置此参数,那么实例里写的就是每次执行的默认配置
  defOption: {
    skipUndefined: true,
    skipNull: true,
    skipEmptyString: true
  }
};

sql 文件其实是一个 js/ts 文件,导出返回 sql 的函数:

// 第一个参数是用来渲染sql、传递到数据库引擎中的,第二个参数是可选的,用来标记本次查询是查询记录数还是全部记录的?

export const select_list = (param: {[key:string]:any}, isCountQuery?: boolean) => {
  return `SELECT * FROM name`;
};

API

SqlServer

sql 辅助

文档

方法名说明
insert插入
insertIfNotExists如果不存在再插入
replace先删除再插入
insertBatch批量插入
insertBatchIfNotExists批量:如果不存在再插入
replaceBatch批量:先删除再插入
updateById根据主键更新
updateBatchById批量:根据主键更新,适用于单主键
updateBatch根据指定的条件更新
deleteBatch根据指定的条件删除
deleteById根据主键删除,适用于单主键
deleteByIdMuti根据主键删除,适用于多主键
selectById根据主键查询,适用于单主键
selectByIdMuti根据主键查询,适用于多主键
all查询全部数据
allPage查询全部数据,并分页
allCount查询全部数据记录数
template根据模板查询数据
templateOne根据模板查询匹配到的第一条数据
templatePage根据模板查询数据,并分页
templateCount根据模板查询数据条数
customQuery自定义查询
pageQuery创建分页查询对象
lambdaQuery创建 lambda 方式查询,匹配的类可以自定义
lambdaQueryMe创建 lambda 方式查询,匹配的类是自己绑定的类

实例

PageQuery

分页查询,由sqlid加载而来

文档

方法名说明
param设置查询使用的参数
params设置查询使用的参数
orderBy追加排序字段
pageNumber设置当前第几页
pageSize设置每页多少条
limitSelf设置是否自动追加分页语句?否则需要在 sql 语句中自己实现
list返回查询记录的 sql 语句
count返回查询记录的 sql 语句

实例

LambdaQuery

Lambda 查询,支持多个 LambdaQuery 对象组合,支持任意查询条件.支持查询列表、单条记录、条数、修改、删除操作

通过以下方法可以设置查询条件,参数都是 字段名,值

方法名说明
andEq
andNotEq
andGreat
andLess
andLessEq
andLike
andNotLike
andLeftLike
andNotLeftLike
andRightLike
andNotRightLike
andIsNull
andIsNotNull
andIn
andNotIn
andBetween
andNotBetween
groupBy

通过以下方法可以设置排序、分组、分页

方法名说明
desc
asc
groupBy
limit

通过以下方法可以设置排序、分组、分页

方法名说明
updateColumn如果要更新的话,这里可以设置更新的列、内容

通过以下方法可以合并另一个 LambdaQuery 的条件

方法名说明
and以 and 的方式合并另一个 LambdaQuery 的条件
or以 or 的方式合并另一个 LambdaQuery 的条件

以下方法将终结链条

方法名说明
where返回当前设置的条件
select返回查询语句
one返回单条查询语句
count返回查询记录数的 语句
update返回更新语句
delete返回删除语句

实例

SqlCache

sql 语句缓存集

注意

  1. 所有的方法在接受查询参数时,都是以 key-value(param: {[key:string]:any}) 的形势接受的。
  2. 当使用 PageQuery 进行查询时,会多传一个参数:当前查询是否是记录数查询,即 true|false, true 表示本次查询只查询记录数,而不是实际的数据
  3. 第二个参数是可选的,如果你的 sql 不会用作 PageQuery 查询,那么就可以忽略这个参数了
  4. 参数方式 WHERE NAME = :param 声明了一个参数名为 param, 这个参数将在最终 sql 执行时 由引擎赋值,可防止 sql 注入
  5. 参数方式 WHERE NAME = '+param.name+' 直接取方法的参数进行 sql 语句拼接
  6. 插入、修改、模板查询方法中,如果参数传入了实体类没有的属性,将被忽略。
1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago