tansci/.claude/skills/magic-script/references/single-table.md
xuewuerduo f468d532b1 feat: 初始化tansci资产管理项目
包含以下模块:
- antdv-next-admin: Vue 3 + TypeScript + Ant Design Vue 管理后台
  - 设备/许可证/配件/耗材 CRUD 管理页面
  - 基础数据管理 (分类/位置/制造商/型号/供应商)
  - 业务管理 (故障报修/盘点/资产分配/资产申请/交易记录)
  - 下拉选项改造 (ID输入框 → 搜索下拉选择)
  - 资产状态字典化 (接入sys_dict系统)
  - 界面文案优化 (设备→资产, 在库/在用/维修中/已报废)
  - 修复 console 警告 (popupClassName, 重复组件注册)
- our-itam: Java Spring Boot + magic-api 后端服务
- fantastic-admin: 前端底层框架 (pnpm monorepo)
- ciyo-itasset: CIYO 资产模块
- magic-script-skill: Claude Code skill 定义
- .claude: 对话历史记录

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-05-17 21:41:22 +08:00

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()
```