--- title: update操作 date: 2021-02-05 08:58:56 permalink: /pages/216aa8/ --- # update操作 ## 一、updateByPk (根据主键更新) ### 1. 通用操作 ```java // 更新的数据 Map 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. 实体类 ```java FtUser ftUser = FtUser.builder().userName("张三").password("123456").build() baseMapper.updateByPk(ftUser); ``` ### 3. DataMap操作 ## 二、updateInPk(根据主键批量更新) ### 1. 通用操作 ```java // 需要更新的主键值 List idList = new ArrayList<>(); idList.add(1); idList.add(2); idList.add(3); // 需要更新的字段 Map map = new HashMap<>(); map.put("PASSWORD", "654321"); // 表名 String tableName = "FT_USER"; // 主键 String pkName = "USER_ID"; baseMapper.updateInPk(tableName,pkName,idList,map); ``` ### 2. 实体类 ```java // 需要更新的主键值 List 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.实体类 * 方法一 ```java FtUser ftUser = FtUser.builder().password("654321").build(); // 需要更新的主键值 List idList = new ArrayList<>(); idList.add("1"); idList.add("2"); idList.add("3"); DataMap dataMap = DataMap .builder() .obj(ftUser) // 主键值 .idList(idList) .build(); // 需要更新的字段 baseMapper.updateInPk(dataMap); ``` * 方法二 ```java FtUser ftUser = FtUser.builder().password("654321").build(); DataMap dataMap = DataMap .builder() .obj(ftUser) // 主键值 .ids("1,2,3") .build(); // 需要更新的字段 baseMapper.updateInPk(dataMap); ``` #### b.非实体类 * 方法一 ```java // 更新数据 Map map = new HashMap<>(); map.put("PASSWORD", "654321"); DataMap dataMap = DataMap .builder() // 更新数据 .data(map) // 表名 .tableName("FT_USER") // 主键名 .pkName("USER_ID") // 主键值 .ids("1,2,3") .build(); // 需要更新的字段 baseMapper.updateInPk(dataMap); ``` * 方法二 ```java // 需要更新的主键值 List idList = new ArrayList<>(); idList.add("1"); idList.add("2"); idList.add("3"); // 更新数据 Map map = new HashMap<>(); map.put("PASSWORD", "654321"); DataMap dataMap = DataMap .builder() // 更新数据 .data(map) // 表名 .tableName("FT_USER") // 主键名 .pkName("USER_ID") // 主键值 .idList(idList) .build(); // 需要更新的字段 baseMapper.updateInPk(dataMap); ``` * 方法三 ```java // 需要更新的主键值 List idList = new ArrayList<>(); idList.add("1"); idList.add("2"); idList.add("3"); DataMap dataMap = DataMap .builder() // 更新数据 .add("PASSWORD","654321") // 表名 .tableName("FT_USER") // 主键名 .pkName("USER_ID") // 主键值 .idList(idList) .build(); // 需要更新的字段 baseMapper.updateInPk(dataMap); ```