// 调用saveOrUpdate方法,传入实体对象和UpdateWrapper对象 userMapper.saveOrUpdate(user, updateWrapper ); 2、总结 总的来说,saveOrUpdate(T entity, Wrapper updateWrapper)方法会根据指定的条件先进行查询,然后根据查询结果自动决定是执行更新操作还是插入操作,从而实现根据指定字段执行保存或更新的逻辑。 我是欧阳...
@Testpublic void testCommonInsert() {//初始化Employee对象Employee employee = new Employee();employee.setLastName("MP");employee.setEmail("mp@163.com");employee.setSalary(20000.0);//插入到数据库Integer result = employeeMapper.insert(employee);System.out.println("result: " + result );//获取...
如上代码注释批量执行的基本条件要开启rewriteBatchedStatements并且没有plain sql
当然你可以在这个employeeMapper里面自定义方法,方法通过注解或者mapper.xml里面insert|update|select|delete实现。 【1】通用插入数据 ① insert 测试代码如下: @Test public void testCommonInsert() { //初始化Employee对象 Employee employee = new Employee(); employee.setLastName("MP"); employee.setEmail("mp...
* 插入一条记录 * * @param entity 实体对象 */intinsert(Tentity);/** * 根据 ID 删除 * * @param id 主键ID */intdeleteById(Serializable id);/** * 根据 columnMap 条件,删除记录 * * @param columnMap 表字段 map 对象 */intdeleteByMap(@Param(Constants.COLUMN_MAP)Map<String,Object>column...
案例一:实现一个根据复杂条件查询用户的接口,查询条件如下: name:用户名关键字,可以为空 status:用户状态,可以为空 minBalance:最小余额,可以为空 maxBalance:最大余额,可以为空 可以理解成一个用户的后台管理界面,管理员可以自己选择条件来筛选用户,因此上述条件不一定存在,需要做判断。 我们首先需要定义一个查询条...
// 方式一:通过 QueryWrapper @Test void testUpdateByQueryWrapper() { User user = new User(); // 更新的字段 user.setAge(23); // 更新的条件:主键为 6 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("id", 6); // 此处的字段使用的是数据库的字段名,而不是实体类的属性名 ...
//一条一条插入 openTestService.save(openTest); } sqlSession.commit(); stopWatch.stop(); log.info("mybatis plus save one:" + stopWatch.getTotalTimeMillis()); } finally { sqlSession.close(); } } 可以看到,执行一批 1000 条数的批量保存,耗费的时间是 121011 毫秒。
测试插入测试更新、观察时间即可 5.查询 与查询基本一致;根据id查询用户信息;根据多个id查询多个用户信息;通过map条件查询用户信息;查询所有数据;@Testvoid test01(){ List<User> users = userMapper.selectList(null); for (User user : users) { System.out.println(user); }} 通过观察BaseMa...