# 单表操作 操作入口:`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() ```