单表增删改查

    技术2022-07-10  141

    一.更新操作

    1.根据id进行更新

    (1)代码块

    /** * 根据id更新数据 */ @Test public void test1(){ User user = new User(); user.setId(2l); //设置指定id user.setUserName("小明"); user.setName("小明"); user.setPassword("32343"); user.setAge(22); user.setMail("itcast.com"); int num = userMapper.updateById(user); System.out.println(num); }

    (2)范例

    2.根据QueryWrapper对象进行更新

    (1)代码块

    /** * 根据条件更新数据,方式一QueryWrapper */ @Test public void test3(){ User user = new User(); user.setAge(20); //更新的字段 user.setPassword("88888"); //1.设置查询条件 QueryWrapper<User> wrapper = new QueryWrapper<>(); //参数一是数据库表中的字段名,参数二是名称 wrapper.eq("user_name","zhangsan"); //2.执行更新操作 int result = userMapper.update(user, wrapper); System.out.println("result=>" +result); }

    (2)范例

    3.根据UpdateWrapper对象进行更新操作

    (1)代码块

    /** * 根据条件更新数据,方式二UpdateWrapper */ @Test public void test4(){ //1.设置查询条件 UpdateWrapper<User> wrapper = new UpdateWrapper<>(); //参数一是数据库表中的字段名,参数二是名称 wrapper.set("age",21) //set方法是设置修改后的字段名和对应的字段值 .set("password","999999") //设置查询条件 .eq("user_name","zhangsan"); //2.执行更新操作 int result = userMapper.update(null, wrapper); System.out.println("result=>" +result); }

    (2)范例

    二.删除操作

    1.根据id进行删除

    (1)代码块

    /** * 根据id删除数据 */ @Test public void test5(){ int result = userMapper.deleteById(5l); System.out.println(result); }

    (2)范例

    2.根据Map进行删除【可以删除多条记录】

    (1)代码块

    /** * 根据map条件删除数据 */ @Test public void test6(){ Map<String,Object> map = new HashMap<>(); map.put("user_name","zhangsan"); //设置删除条件 map.put("password","123456"); //多条条件都是and连接 int result = userMapper.deleteByMap(map); System.out.println(result); }

    (2)范例

    3.根据QueryWrapper对象进行删除

    (1)代码块

    /** * 根据QueryWrapper条件删除数据 */ @Test public void test7(){ //方式一:设置删除条件【不推荐】 QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("user_name","小明") .eq("password","32343"); int result = userMapper.delete(wrapper); System.out.println(result); //方式二:将删除条件封装成对象【推荐】 User user = new User(); user.setPassword("32343"); user.setUserName("小明"); //将条件封装到user,存储在构造方法中自动拆解 QueryWrapper<User> wrapper2 = new QueryWrapper<>(user); int result2 = userMapper.delete(wrapper2); System.out.println(result2); }

    (2)范例

    4.根据DeleteBatchIds进行删除【批量删除】

    (1)代码块

    /** * 根据DeleteBatchIds条件删除数据 */ @Test public void test8(){ //批量删除,根据id进行批量删除 int result = userMapper.deleteBatchIds(Arrays.asList(9l, 10l)); System.out.println("根据id删除的记录有" +result); }

    (2)范例

    三.查询操作

    1.根据id进行查询

    (1)代码块

    /** * 根据id进行查询数据 */ @Test public void test1(){ //根据id进行查询 User user = userMapper.selectById(1L); System.out.println(user); }

    (2)范例

    2.根据集合进行查询

    (1)代码块

    /** * 根据id集合进行查询数据 */ @Test public void test2(){ //根据id集合进行查询 List<User> users= userMapper.selectBatchIds(Arrays.asList(1l,3l)); System.out.println(users); }

    (2)范例

    3.查询一条记录的语法

    (1)代码块

    /** * 根据selectOne进行查询一行记录 */ @Test public void test3(){ //设置查询条件 QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("user_name","zhangsan"); //将查询条件存储到selectOne的参数 User user = userMapper.selectOne(wrapper); //注意事项:selectOne查询结果不能超过一条,如果多条返回记录则发生异常 System.out.println(user); }

    (2)范例

    4.查询符合条件的记录总数

    (1)代码块

    /** * 根据selectCount进行查询符号条件的记录条数 */ @Test public void test4(){ //设置查询条件 QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("user_name","zhangsan"); //将查询条件存储到selectCount的参数 int count = userMapper.selectCount(wrapper); System.out.println(count); }

    (2)范例

    5.查询多条记录的方法SelectList

    (1)代码块

    /** * 根据QueryWrapper查询多条记录 */ @Test public void test5(){ //设置查询条件 QueryWrapper wrapper = new QueryWrapper(); wrapper.ge("age",20); //将查询条件存储到selectOne的参数 List<User> users = userMapper.selectList(wrapper); for(User user:users){ System.out.println(user); } }

    (2)范例

    四.添加操作

    1.代码块

    @Test public void test1(){ User user = new User(); user.setUserName("lisi"); user.setName("小明"); user.setPassword("123456"); user.setAge(22); user.setMail("itcast.com"); int num = userMapper.insert(user); System.out.println(num); }

    2.范例

    五.源码

    mybatisplus.rar

    Processed: 0.016, SQL: 9