Search in sources :

Example 1 with User

use of com.baomidou.mybatisplus.samples.wrapper.entity.User in project tutorials-java by Artister.

the class WrapperTest method tests.

@Test
public void tests() {
    System.out.println("----- 普通查询 ------");
    List<User> plainUsers = userMapper.selectList(new QueryWrapper<User>().eq("role_id", 2L));
    List<User> lambdaUsers = userMapper.selectList(new QueryWrapper<User>().lambda().eq(User::getRoleId, 2L));
    Assert.assertEquals(plainUsers.size(), lambdaUsers.size());
    print(plainUsers);
    System.out.println("----- 带子查询(sql注入) ------");
    List<User> plainUsers2 = userMapper.selectList(new QueryWrapper<User>().inSql("role_id", "select id from role where id = 2"));
    List<User> lambdaUsers2 = userMapper.selectList(new QueryWrapper<User>().lambda().inSql(User::getRoleId, "select id from role where id = 2"));
    Assert.assertEquals(plainUsers2.size(), lambdaUsers2.size());
    print(plainUsers2);
    System.out.println("----- 带嵌套查询 ------");
    List<User> plainUsers3 = userMapper.selectList(new QueryWrapper<User>().nested(i -> i.eq("role_id", 2L).or().eq("role_id", 3L)).and(i -> i.ge("age", 20)));
    List<User> lambdaUsers3 = userMapper.selectList(new QueryWrapper<User>().lambda().nested(i -> i.eq(User::getRoleId, 2L).or().eq(User::getRoleId, 3L)).and(i -> i.ge(User::getAge, 20)));
    Assert.assertEquals(plainUsers3.size(), lambdaUsers3.size());
    print(plainUsers3);
    System.out.println("----- 自定义(sql注入) ------");
    List<User> plainUsers4 = userMapper.selectList(new QueryWrapper<User>().apply("role_id = 2"));
    print(plainUsers4);
    UpdateWrapper<User> uw = new UpdateWrapper<>();
    uw.set("email", null);
    uw.eq("id", 4);
    userMapper.update(new User(), uw);
    User u4 = userMapper.selectById(4);
    Assert.assertNull(u4.getEmail());
}
Also used : QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) RoleMapper(com.baomidou.mybatisplus.samples.wrapper.mapper.RoleMapper) Resource(javax.annotation.Resource) RunWith(org.junit.runner.RunWith) Test(org.junit.Test) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) UserMapper(com.baomidou.mybatisplus.samples.wrapper.mapper.UserMapper) List(java.util.List) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) CollectionUtils(org.springframework.util.CollectionUtils) SpringRunner(org.springframework.test.context.junit4.SpringRunner) Assert(org.junit.Assert) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with User

use of com.baomidou.mybatisplus.samples.wrapper.entity.User in project mybatis-plus-samples by baomidou.

the class UpdateWrapperTest method tests.

/**
 * UPDATE user SET age=?, email=? WHERE (name = ?)
 */
@Test
public void tests() {
    // 方式一:
    User user = new User();
    user.setAge(29);
    user.setEmail("test3update@baomidou.com");
    userMapper.update(user, new UpdateWrapper<User>().eq("name", "Tom"));
    // 方式二:
    // 不创建User对象
    userMapper.update(null, new UpdateWrapper<User>().set("age", 29).set("email", "test3update@baomidou.com").eq("name", "Tom"));
}
Also used : User(com.baomidou.mybatisplus.samples.wrapper.entity.User) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) LambdaUpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 3 with User

use of com.baomidou.mybatisplus.samples.wrapper.entity.User in project mybatis-plus-samples by baomidou.

the class WrapperTest method tests.

@Test
public void tests() {
    System.out.println("----- 普通查询 ------");
    List<User> plainUsers = userMapper.selectList(new QueryWrapper<User>().eq("role_id", 2L));
    List<User> lambdaUsers = userMapper.selectList(new QueryWrapper<User>().lambda().eq(User::getRoleId, 2L));
    Assertions.assertEquals(plainUsers.size(), lambdaUsers.size());
    print(plainUsers);
    System.out.println("----- 带子查询(sql注入) ------");
    List<User> plainUsers2 = userMapper.selectList(new QueryWrapper<User>().inSql("role_id", "select id from role where id = 2"));
    List<User> lambdaUsers2 = userMapper.selectList(new QueryWrapper<User>().lambda().inSql(User::getRoleId, "select id from role where id = 2"));
    Assertions.assertEquals(plainUsers2.size(), lambdaUsers2.size());
    print(plainUsers2);
    System.out.println("----- 带嵌套查询 ------");
    List<User> plainUsers3 = userMapper.selectList(new QueryWrapper<User>().nested(i -> i.eq("role_id", 2L).or().eq("role_id", 3L)).and(i -> i.ge("age", 20)));
    List<User> lambdaUsers3 = userMapper.selectList(new QueryWrapper<User>().lambda().nested(i -> i.eq(User::getRoleId, 2L).or().eq(User::getRoleId, 3L)).and(i -> i.ge(User::getAge, 20)));
    Assertions.assertEquals(plainUsers3.size(), lambdaUsers3.size());
    print(plainUsers3);
    System.out.println("----- 自定义(sql注入) ------");
    // 方式一
    List<User> plainUsers4 = userMapper.selectList(new QueryWrapper<User>().apply("role_id = 2"));
    /*        List<User> lambdaUsers4 = userMapper.selectList(new QueryWrapper<User>().lambda()
                .apply("role_id = 2"));*/
    // 方式二
    List<User> plainUsers5 = userMapper.selectList(new QueryWrapper<User>().apply("role_id = {0}", 2));
    /*        List<User> lambdaUsers5 = userMapper.selectList(new QueryWrapper<User>().lambda()
                .apply("role_id = {0}",2));*/
    print(plainUsers4);
    Assertions.assertEquals(plainUsers4.size(), plainUsers5.size());
    UpdateWrapper<User> uw = new UpdateWrapper<>();
    uw.set("email", null);
    uw.eq("id", 4);
    userMapper.update(new User(), uw);
    User u4 = userMapper.selectById(4);
    Assertions.assertNull(u4.getEmail());
}
Also used : Test(org.junit.jupiter.api.Test) QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) List(java.util.List) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) RoleMapper(com.baomidou.mybatisplus.samples.wrapper.mapper.RoleMapper) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) CollectionUtils(org.springframework.util.CollectionUtils) Assertions(org.junit.jupiter.api.Assertions) Resource(javax.annotation.Resource) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) UserMapper(com.baomidou.mybatisplus.samples.wrapper.mapper.UserMapper) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 4 with User

use of com.baomidou.mybatisplus.samples.wrapper.entity.User in project mybatis-plus-samples by baomidou.

the class WrapperTest method lambdaQueryWrapper.

@Test
public void lambdaQueryWrapper() {
    System.out.println("----- 普通查询 ------");
    List<User> plainUsers = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getRoleId, 2L));
    List<User> lambdaUsers = userMapper.selectList(new QueryWrapper<User>().lambda().eq(User::getRoleId, 2L));
    Assertions.assertEquals(plainUsers.size(), lambdaUsers.size());
    print(plainUsers);
    System.out.println("----- 带子查询(sql注入) ------");
    List<User> plainUsers2 = userMapper.selectList(new LambdaQueryWrapper<User>().inSql(User::getRoleId, "select id from role where id = 2"));
    List<User> lambdaUsers2 = userMapper.selectList(new QueryWrapper<User>().lambda().inSql(User::getRoleId, "select id from role where id = 2"));
    Assertions.assertEquals(plainUsers2.size(), lambdaUsers2.size());
    print(plainUsers2);
    System.out.println("----- 带嵌套查询 ------");
    List<User> plainUsers3 = userMapper.selectList(new LambdaQueryWrapper<User>().nested(i -> i.eq(User::getRoleId, 2L).or().eq(User::getRoleId, 3L)).and(i -> i.ge(User::getAge, 20)));
    List<User> lambdaUsers3 = userMapper.selectList(new QueryWrapper<User>().lambda().nested(i -> i.eq(User::getRoleId, 2L).or().eq(User::getRoleId, 3L)).and(i -> i.ge(User::getAge, 20)));
    Assertions.assertEquals(plainUsers3.size(), lambdaUsers3.size());
    print(plainUsers3);
    System.out.println("----- 自定义(sql注入) ------");
    List<User> plainUsers4 = userMapper.selectList(new QueryWrapper<User>().apply("role_id = 2"));
    print(plainUsers4);
    UpdateWrapper<User> uw = new UpdateWrapper<>();
    uw.set("email", null);
    uw.eq("id", 4);
    userMapper.update(new User(), uw);
    User u4 = userMapper.selectById(4);
    Assertions.assertNull(u4.getEmail());
}
Also used : Test(org.junit.jupiter.api.Test) QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) List(java.util.List) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) RoleMapper(com.baomidou.mybatisplus.samples.wrapper.mapper.RoleMapper) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) CollectionUtils(org.springframework.util.CollectionUtils) Assertions(org.junit.jupiter.api.Assertions) Resource(javax.annotation.Resource) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) UserMapper(com.baomidou.mybatisplus.samples.wrapper.mapper.UserMapper) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) UpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper) QueryWrapper(com.baomidou.mybatisplus.core.conditions.query.QueryWrapper) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) LambdaQueryWrapper(com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 5 with User

use of com.baomidou.mybatisplus.samples.wrapper.entity.User in project mybatis-plus-samples by baomidou.

the class UpdateWrapperTest method testLambda.

/**
 * 使用lambda条件构造器
 * UPDATE user SET age=?, email=? WHERE (name = ?)
 */
@Test
public void testLambda() {
    // 方式一:
    User user = new User();
    user.setAge(29);
    user.setEmail("test3update@baomidou.com");
    userMapper.update(user, new LambdaUpdateWrapper<User>().eq(User::getName, "Tom"));
    // 方式二:
    // 不创建User对象
    userMapper.update(null, new LambdaUpdateWrapper<User>().set(User::getAge, 29).set(User::getEmail, "test3update@baomidou.com").eq(User::getName, "Tom"));
}
Also used : LambdaUpdateWrapper(com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper) User(com.baomidou.mybatisplus.samples.wrapper.entity.User) Test(org.junit.jupiter.api.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

User (com.baomidou.mybatisplus.samples.wrapper.entity.User)6 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)6 UpdateWrapper (com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper)5 LambdaQueryWrapper (com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper)4 QueryWrapper (com.baomidou.mybatisplus.core.conditions.query.QueryWrapper)4 RoleMapper (com.baomidou.mybatisplus.samples.wrapper.mapper.RoleMapper)4 UserMapper (com.baomidou.mybatisplus.samples.wrapper.mapper.UserMapper)4 List (java.util.List)4 Resource (javax.annotation.Resource)4 Test (org.junit.jupiter.api.Test)4 CollectionUtils (org.springframework.util.CollectionUtils)4 LambdaUpdateWrapper (com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper)2 Assert (org.junit.Assert)2 Test (org.junit.Test)2 Assertions (org.junit.jupiter.api.Assertions)2 RunWith (org.junit.runner.RunWith)2 SpringRunner (org.springframework.test.context.junit4.SpringRunner)2