Files
hcframe-doc/docs/03.后台/02.通用数据平台/03.BaseMapper/05.update操作.md
2021-02-07 15:41:10 +08:00

3.4 KiB
Raw Blame History

title, date, permalink
title date permalink
update操作 2021-02-05 08:58:56 /pages/216aa8/

update操作

一、updateByPk (根据主键更新)

1. 通用操作

// 更新的数据
Map<String, Object> map = new HashMap<>();
map.put("USER_NAME","张三");
map.put("PASSWORD", "654321");
map.put("USER_ID", 1);
// 表名
String tableName = "FT_USER";
// 主键
String pkName = "USER_ID";
baseMapper.updateByPk(tableName, pkName, map);

2. 实体类

FtUser ftUser = FtUser.builder().userName("张三").password("123456").build()
baseMapper.updateByPk(ftUser);

3. DataMap操作

二、updateInPk根据主键批量更新

1. 通用操作

// 需要更新的主键值
List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(3);
// 需要更新的字段
Map<String, Object> map = new HashMap<>();
map.put("PASSWORD", "654321");
// 表名
String tableName = "FT_USER";
// 主键
String pkName = "USER_ID";
baseMapper.updateInPk(tableName,pkName,idList,map);

2. 实体类

// 需要更新的主键值
List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
idList.add(3);
// 需要更新的字段
FtUser ftUser = FtUser.builder().password("123456").build();
baseMapper.updateInPk(ftUser,idList);

3. DataMap 操作

a.实体类

  • 方法一
FtUser ftUser = FtUser.builder().password("654321").build();
// 需要更新的主键值
List<String> idList = new ArrayList<>();
idList.add("1");
idList.add("2");
idList.add("3");
DataMap<Object> dataMap = DataMap
        .builder()
        .obj(ftUser)
        // 主键值
        .idList(idList)
        .build();
// 需要更新的字段
baseMapper.updateInPk(dataMap);
  • 方法二
FtUser ftUser = FtUser.builder().password("654321").build();
DataMap<Object> dataMap = DataMap
        .builder()
        .obj(ftUser)
        // 主键值
        .ids("1,2,3")
        .build();
// 需要更新的字段
baseMapper.updateInPk(dataMap);

b.非实体类

  • 方法一
// 更新数据
Map<String, Object> map = new HashMap<>();
map.put("PASSWORD", "654321");
DataMap<Object> dataMap = DataMap
        .builder()
        // 更新数据
        .data(map)
        // 表名
        .tableName("FT_USER")
        // 主键名
        .pkName("USER_ID")
        // 主键值
        .ids("1,2,3")
        .build();
// 需要更新的字段
baseMapper.updateInPk(dataMap);
  • 方法二
// 需要更新的主键值
List<String> idList = new ArrayList<>();
idList.add("1");
idList.add("2");
idList.add("3");
// 更新数据
Map<String, Object> map = new HashMap<>();
map.put("PASSWORD", "654321");
DataMap<Object> dataMap = DataMap
        .builder()
        // 更新数据
        .data(map)
        // 表名
        .tableName("FT_USER")
        // 主键名
        .pkName("USER_ID")
        // 主键值
        .idList(idList)
        .build();
// 需要更新的字段
baseMapper.updateInPk(dataMap);
  • 方法三
// 需要更新的主键值
List<String> idList = new ArrayList<>();
idList.add("1");
idList.add("2");
idList.add("3");
DataMap<Object> dataMap = DataMap
        .builder()
        // 更新数据
        .add("PASSWORD","654321")
        // 表名
        .tableName("FT_USER")
        // 主键名
        .pkName("USER_ID")
        // 主键值
        .idList(idList)
        .build();
// 需要更新的字段
baseMapper.updateInPk(dataMap);