为了容易记忆,项目里所有表记录的逻辑删除可以用“-1”(或其他值)来表示.…
回到目录 关于逻辑删除 对于逻辑删除之前的做法是在实体类中加个字段,一般是status,其中一种状态是删除,当然也有其它做法,如加个bool的字段IsDeleted,这些其实都过于武断,即它在基类里加上后,所以实体类都会有这种特性,而对于现实的数据表,可能不显示这种逻辑删除的特性,如关系表,日志表,可能删除就是物理上的直接delete,而这种删除字段加上去,我们的做也是在业务层手动调用update方法,或者在底层提供一个delete方法的重载,总之,感觉不是很爽! 看了ABP的软删除之后,对大叔…
逻辑删除设备:(数据表中还有这条记录,不显示出来) 思路: 数据表加个字段display,值为Y/N,只显示display为Y的,删除时,把display的值改为N,就不会显示出来 jsp页面如下图,要获取选中的复选框,把选中的id传给SpringMVC的Controller 完整流程如下: 1.sbgl_list.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-…
Mybatisplus的AR模式 Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录.ActiveRecord 一直广受动态语言( PHP . Ruby 等)的喜爱,而 Java 作为准静态语言,对于 ActiveRecord 往往只能感叹其优雅,所以 MP 也在 AR 道路上进行了一定的探索,仅仅需要让实体类继承 Model 类且实现主键指定方法,即可开启 AR 之旅.逻辑删除 逻辑删除的本质是修改操作,…
通过mybatis-plus实现分页,也是很简单,插件大法. 一.分页 1.配置分页插件 把分页的插件也配置到统一的配置类里: @Configuration // 配置扫描mapper的路径 @MapperScan("com.pingguo.mpdemo.mapper") public class MpConfig { // 乐观锁插件 @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { re…
自定义填充 设置自定义填充规则 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; ​ import java.util.Date; ​ @Component public class MyBatisMetaObjectHand…
本篇介绍easymybatis如配置乐观锁和逻辑删除. 乐观锁 easymybatis提供的乐观锁使用方式跟JPA一样,使用@Version注解来实现.即:数据库增加一个int或long类型字段version,然后实体类version字段上加上@Version注解即可.实现原理是根据mysql的行锁机制(InnoDB下),同一条记录只能被一条SQL执行,后面的SQL排队等待.这样version改变后,等待中的SQL还是老的version号,因此更新失败. @Version private Lon…
在使用mybatisplus中,可使用逻辑删除.案例中,使用mybatisplus逆向生成model,使用delete_status为识别逻辑删除字段. springboot 中配置启动逻辑删除 mybatis-plus: global-config: db-config: id-type: auto logic-delete-value: logic-not-delete-value: 在生成的model实体类中配置逻辑删除字段注解 @TableLogic public class User…
本文为Mybatis Plus系列文章的第8篇,前7篇访问地址如下: 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小书MybatisPlus第3篇-自定义SQL 小书MybatisPlus第4篇-表格分页与下拉分页查询 小书MybatisPlus第5篇-Active Record模式精讲 小书MybatisPlus第6篇-主键生成策略精讲 小书MybatisPlus第7篇-代码生成器的原理精讲及使用方法 一…
MP(mybatis plus)已经大大简化了我们好多的开发操作,基本的增删改查都有了,包括代码生成等等,今天想说的是它的逻辑删除功能.我们都在数据库设计时候经常会有is字段,表示是否删除,为了留下员工数据,而只做逻辑删除,不做物理删除,但是MP默认的配置是物理删除,即直接调用的数据库delete操作,但是可以通过配置使调用MP的deleteXXX得方法时底层调用update操作. springboot整合mybatis-plus 依赖 <dependency> <groupId>…
需求:用一条SQL(SQL SERVER)语句,实现反向更改状态标识字段(类型为bit)的值.即是从true变false,或从false到true. 方案: 一.判断原来这个字段值,然后UPDATE为相反的值. 二.对数据库的bit型赋值,在管理界面输入与用SQL语句来操作有所不同.管理界面输入必须用true或false,而SQL语句则用0或1. 实践一下: UPDATE AttUsers SET IsActive =IsActive+1 WHERE ID=1SELECT * FROM AttU…
用SQL语句添加删除修改字段 1.增加字段     alter table docdsp    add dspcode char(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMN column_NAME3.修改字段类型     ALTER TABLE table_name    ALTER COLUMN column_name new_data_type24.创建数据库      CREATE DATABASE database-name 25.…
1增加两个字段: create table id_name(id int,name varchar(20));//创建原始数据表 alter table id_name add age int,add address varchar(11);//在原始数据表增加age,address两个字段 2删除两个字段: alter table id_name drop column age,drop column address;//删除age,address两个字段 拓展: 1.增加一个字段alter…
当要往有设置自增标识字段的表插入数据,并希望同时设置好自增字段的值时,可以在insert into 的SQL语句前后分别加上一句sql语句,SET IDENTITY_INSERT TableName ON和SET IDENTITY_INSERT TableName OFF //tb_Users 的id字段是种子为1的自增标识字段 SET IDENTITY_INSERT tb_Users ON if not exists(select * from tb_Users where id = 1) b…
partition  by关键字是分析性函数的一部分,它和聚合函数(如group by)不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录, partition  by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组. partition by 与group by不同之处在于前者返回的是分组里的每一条数据,并且可以对分组数据进行排序操作.后者只能返回聚合之后的组的数据统计值的记录. 用法 : select *,ROW_NUMBER() over( pa…
由于项目需求变更,我需要在sqlite的表中删除一个字段,通用的sql操作语句如下: alter table task drop column custom_fields; 结果数据库提示如下错误: sqlite> ALTER TABLE task DROP COLUMN custom_fields; Error: near "DROP": syntax error 搜索得知,原来SQLite目前还不支持drop column,所以必须想出另外一种方法来进行表字段的删除. 如下s…
这篇文章主要介绍了oracle表增加字段.删除表字段修改表字段的使用方法,大家参考使用吧   添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table tablen…
用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法 sp_rename…
用SQL语句添加删除修改字段1.增加字段     alter table docdsp    add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name    ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名    更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称.…
用SQL语句添加删除修改字段1.增加字段     alter table docdsp    add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name    ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名    更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称.…
ArcGIS下删除属性字段有两种方式:① 单个删除:② 批量删除. 单个删除 批量删除 尽管如此,ArcGIS桌面软件在属性字段的编辑上并不太方便,所以我们自己做了一些工具辅助平时的内业处理工作.(*^__^*) ………
对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表.这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载.而且,如果有服务在访问表,也会对服务产生影响.因此,在大多数情况下,表结构的更改一般都使用alter table 语句,以下是一些常用的命令. (1) 修改表类型,语法如下: ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRS…
问题:字段或属性的问题字段初始值设定项无法引用非静态字段.方法 下面代码出错的原因,在类中定义的字段为什么不能用? public string text = test(); //提示 字段或属性的问题字段初始值设定项无法引用非静态字段.方法 protected void Page_Load(object sender, EventArgs e) { } public string test() { return ""; } 可以通过属性方式调用: public string text…
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) Apache POI读取excel文件数据 1.1 快递员的条件分页查询 --关键 需要将查询条件 和分页条件都绑定到一次请求中 1. 提供工具方法:将表单序列化为json对象 //工具方法:将表单中输入项格式化为json对象 {"input的name":"input的value…
Spring Boot项目中数据源的配置可以通过两种方式实现: 1.application.yml或者application.properties配置 2.注入DataSource及SqlSessionFactory两个Bean 通过第二种方式配置数据源则按照MybatisPlus官方文档使用分页及逻辑删除插件会无效,解决思路是在初始化SqlSessionFactory将插件设置进去 /** * 逻辑删除插件 */ @Bean public GlobalConfig globalConfig()…
Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话…
先看添加与删除字段描述 EXEC sys.sp_addextendedproperty @name = N'MS_Description', --添加Type字段说明 @value = N'屏蔽类型对应值(类型对应Id)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ForbiddenType', @level2type = N'COLUMN', @level2na…
先看添加与删除字段描述 EXEC sys.sp_addextendedproperty @name = N'MS_Description', --添加Type字段说明 @value = N'屏蔽类型对应值(类型对应Id)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ForbiddenType', @level2type = N'COLUMN', @level2na…
1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name     ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名     EXEC sp_rename '[dbo].[Table_1].[filedName1]…
摘要 如果想要删除mongodb中一个document的某个字段,该如何做呢? 方法模版 db.user.update({"email_state":{"$exists":true}},{"$unset":{"email_state",""}},{multi:true}); 删除user表的email_state字段. 模版: db.表.update({"field1":{"$…