2023年8月3日发(作者:)

oracle删除表字段_MybatisPlus基础篇学习笔记(六)------更新及删除本章⽬录更新操作删除操作1. 更新操作更新操作这⾥讲解两种⽅式:a.根据id更新b.以条件构造器作为参数的更新⽅法 以及条件构造器中set⽅法的使⽤上图为MP中BaseMapper接⼝提供的两种update⽅法。a.根据id更新使⽤updateById⽅法进⾏更新时,参数传⼊的是⼀个实体类,实体类中的id必须有,其他字段的set值为修改后的值。从控制台打印的sql语句可以看出,实体类中的id为where条件,其他set的字段为需要修改的内容。这⾥需要注意的是,会有下图出现的情况及在控制台打印的update sql语句中set字段会多出来state字段,实体类中并没有setState。这是因为实体类对象中的state字段类型为int,Java会默认给int类型的值赋值为0,改为Integer类型就不会有影响,因为Integer类型会默认赋值为null,update语句不会set默认值为null的字段。b.以条件构造器作为参数的更新⽅法1.使⽤update⽅法更新时,传⼊的第⼀个参数为update sql语句中的set部分,传⼊的第⼆个参数为update sql语句中where条件部分,⼤家可与控制台打印的sql语句对照查看。2.上图中使⽤updateWrapper构造器⽣成where条件时也可使⽤带实体类参数的updateWrapper构造器(与笔记四第5条中的QueryWrapper构造器的使⽤⽅法类似),效果与上图⼀样,代码如下:// where条件Member whereMember = new Member();e("野九");te(1);UpdateWrapper updateWrapper = new UpdateWrapper<>(whereMember);c.条件构造器中set⽅法的使⽤1.当实体类属性过多我们只需要更新少量字段时,可使⽤链式调⽤⽅法将where和set条件直接设置到UpdateWrapper构造器中,简化代码量,代码如下:的⽤法使⽤lambda写法有效解决了防误写操作,前⾯⼀种⽅法需要我们⼿动写⼊字段名称,⼀旦写错了代码执⾏就会报错,⽽lambda就防⽌了这种情况的发⽣。Chain的⽤法lambdaChain的⽤法与lambda类似,但它返回的是Boolean类型及是否操作成功,如果我们set⾥⾯的值与原来的值相同,则会返回false,只有set的值与原来的值不相同的时候才会返回true。2. 删除操作ById⽅法的使⽤,通过传⼊主键id进⾏数据删除。ByMap⽅法的使⽤,通过map集合封装where查询条件,与上⼀个⽅法类似,只是where条件不同。⽅法的使⽤,该⽅法是通过传⼊条件构造器进⾏删除操作,图中演⽰代码是⽤lambda⽅法进⾏操作的,通过创建LambdaQueryWrapper构造器并传⼊相应条件,最终带⼊到delete⽅法中。注:实际场景中的删除操作很谨慎,按实际需求有些删除只是逻辑删除操作并⾮物理删除,通过update修改表字段某个状态值可实现逻辑上的删除操作。

2023年8月3日发(作者:)

oracle删除表字段_MybatisPlus基础篇学习笔记(六)------更新及删除本章⽬录更新操作删除操作1. 更新操作更新操作这⾥讲解两种⽅式:a.根据id更新b.以条件构造器作为参数的更新⽅法 以及条件构造器中set⽅法的使⽤上图为MP中BaseMapper接⼝提供的两种update⽅法。a.根据id更新使⽤updateById⽅法进⾏更新时,参数传⼊的是⼀个实体类,实体类中的id必须有,其他字段的set值为修改后的值。从控制台打印的sql语句可以看出,实体类中的id为where条件,其他set的字段为需要修改的内容。这⾥需要注意的是,会有下图出现的情况及在控制台打印的update sql语句中set字段会多出来state字段,实体类中并没有setState。这是因为实体类对象中的state字段类型为int,Java会默认给int类型的值赋值为0,改为Integer类型就不会有影响,因为Integer类型会默认赋值为null,update语句不会set默认值为null的字段。b.以条件构造器作为参数的更新⽅法1.使⽤update⽅法更新时,传⼊的第⼀个参数为update sql语句中的set部分,传⼊的第⼆个参数为update sql语句中where条件部分,⼤家可与控制台打印的sql语句对照查看。2.上图中使⽤updateWrapper构造器⽣成where条件时也可使⽤带实体类参数的updateWrapper构造器(与笔记四第5条中的QueryWrapper构造器的使⽤⽅法类似),效果与上图⼀样,代码如下:// where条件Member whereMember = new Member();e("野九");te(1);UpdateWrapper updateWrapper = new UpdateWrapper<>(whereMember);c.条件构造器中set⽅法的使⽤1.当实体类属性过多我们只需要更新少量字段时,可使⽤链式调⽤⽅法将where和set条件直接设置到UpdateWrapper构造器中,简化代码量,代码如下:的⽤法使⽤lambda写法有效解决了防误写操作,前⾯⼀种⽅法需要我们⼿动写⼊字段名称,⼀旦写错了代码执⾏就会报错,⽽lambda就防⽌了这种情况的发⽣。Chain的⽤法lambdaChain的⽤法与lambda类似,但它返回的是Boolean类型及是否操作成功,如果我们set⾥⾯的值与原来的值相同,则会返回false,只有set的值与原来的值不相同的时候才会返回true。2. 删除操作ById⽅法的使⽤,通过传⼊主键id进⾏数据删除。ByMap⽅法的使⽤,通过map集合封装where查询条件,与上⼀个⽅法类似,只是where条件不同。⽅法的使⽤,该⽅法是通过传⼊条件构造器进⾏删除操作,图中演⽰代码是⽤lambda⽅法进⾏操作的,通过创建LambdaQueryWrapper构造器并传⼊相应条件,最终带⼊到delete⽅法中。注:实际场景中的删除操作很谨慎,按实际需求有些删除只是逻辑删除操作并⾮物理删除,通过update修改表字段某个状态值可实现逻辑上的删除操作。