tansci-boot/magic-script-skill/references/single-table.md

105 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 单表操作
操作入口:`db.table('table_name')`
## logic
- 作用:设置本查询是带有逻辑删除的,在执行`delete`方法时,会转换为`update`语句,在执行`select`相关方法时,会拼接`logic_field <> logic_value`
## withBlank
- 作用:设置后续插入或修改时,不过滤空值。
## column
- 入参:`column`: `String` 列名
- 作用:设置要查询列,`select`语句中有效
## column
- 入参:`column`: `String` 列名
- 入参:`value` : `Object`
- 作用:设置要操作的列的值,非`select`语句中有效
## primary
- 入参:`primary`: `String` 主键
- 入参:`defaultValue`: `Object` 插入时使用的默认值,可省略
- 作用:设置主键列,在`update`中语句有效,或`save`方法判断标准
## insert
- 入参: `data` : `Map` `insert`的列和值,可省略(通过`column`设置)
```javascript
// insert into sys_user(user_name,role) values('李富贵','admin')
return db.table('sys_user').insert({ user_name : '李富贵', role : 'admin'})
```
## batchInsert
- 入参: `collection` : `Collection` `insert`的列和值的集合
- 入参: `batchSize` `int` batchSize
```javascript
return db.table('sys_user').batchInsert([
{ user_name : '李富贵', role : 'admin'},
{ user_name : '王二狗', role : 'admin'},
{ user_name : '管理员', role : 'super-admin'},
])
```
## update
- 入参: `data` : `Map` `insert`的列和值,可省略(通过`column`设置)
- 入参:`isUpdateBlank`: `boolean` 是否更新空值字段(可省略,默认为`false`
```javascript
// update sys_user set user_name = '王二狗' where id = 1
return db.table('sys_user').primary('id').update({ id: 1, user_name : '王二狗'})
```
## save
- 入参: `data` : `Map` `insert`或`update`的列和值,可省略(通过`column`设置)
- 入参:`beforeQuery` `boolean` 是否根据id查询有没有数据可省略(默认`false`)
```javascript
// insert into sys_user(id,user_name) values('xxx','王二狗');
return db.table('sys_user').primary('id', uuid()).save({user_name: '王二狗'});
// insert into sys_user(user_name) values('王二狗');
return db.table('sys_user').primary('id').save({user_name: '王二狗'});
// update sys_user set user_name = '王二狗' where id = 1
return db.table('sys_user').primary('id').save({id: 1,user_name: '王二狗'});
```
## select
查询list与db.select 作用相同)
```javascript
// select * from sys_user
return db.table('sys_user').select()
```
## page
分页查询与db.page 作用相同)
```javascript
// select * from sys_user
return db.table('sys_user').page()
```
## where
设置查询条件
- eq --> `==`
- ne --> `<>`
- lt --> `<`
- gt --> `>`
- lte --> `<=`
- gte --> `>=`
- in --> `in`
- notIn --> `not in`
- like --> `like`
- notLike --> `not like`
```javascript
// select * from sys_user where user_name like '%李富贵%' and role = 'admin'
return db.table('sys_user')
.where()
.like('user_name','%李富贵%')
.eq('role','admin')
.select()
```