mybatisplus使用lambda构造器写单表或者多表的增删改查

MyBatis-Plus是一款优秀的MyBatis增强工具,提供了丰富的API和方便的操作方式,可以大大简化开发人员的工作。在MyBatis-Plus中,使用Lambda构造器可以方便地实现单表或多表的增删改查操作。

下面分别介绍如何使用Lambda构造器进行单表和多表操作。

单表操作

1.1 新增操作

使用Lambda构造器进行新增操作,可以通过以下方式实现:
下面展示一些 内联代码片

// 创建一个User对象
User user = new User();
user.setName("Tom");
user.setAge(18);
user.setEmail("[email protected]");

// 使用Lambda构造器进行新增操作
int result = userMapper.insert(user);

1.2 查询操作

使用Lambda构造器进行查询操作,可以通过以下方式实现

// 使用Lambda构造器进行查询操作

List<User> userList = userMapper.selectList(Wrappers.<User>lambdaQuery()
        .eq(User::getAge, 18)
        .like(User::getName, "Tom"));

1.3 更新操作

使用Lambda构造器进行更新操作,可以通过以下方式实现

// 创建一个User对象
User user = new User();
user.setId(1L);
user.setAge(20);

// 使用Lambda构造器进行更新操作
int result = userMapper.updateById(user);

1.4 删除操作

使用Lambda构造器进行删除操作,可以通过以下方式实现

// 使用Lambda构造器进行删除操作
int result = userMapper.delete(Wrappers.<User>lambdaQuery()
        .eq(User::getAge, 18)
        .like(User::getName, "Tom"));

多表操作

2.1 多表查询操作

使用Lambda构造器进行多表查询操作,可以通过以下方式实现:

// 使用Lambda构造器进行多表查询操作
List<UserOrderVO> userOrderList = userMapper.selectUserOrderList(Wrappers.<UserOrderVO>lambdaQuery()
        .eq(UserOrderVO::getUserId, 1L));

其中,UserOrderVO是一个包含了User和Order信息的VO对象,可以通过MyBatis的标签进行关联映射。

2.2 多表更新操作

使用Lambda构造器进行多表更新操作,可以通过以下方式实现:

// 创建一个Order对象
Order order = new Order();
order.setId(1L);
order.setStatus(2);

// 使用Lambda构造器进行多表更新操作
int result = userMapper.updateOrderStatus(order, Wrappers.<Order>lambdaUpdate()
        .eq(Order::getUserId, 1L));

其中,updateOrderStatus方法是自定义的多表更新方法,使用MyBatis的标签实现。Lambda构造器中的eq方法指定了更新条件,更新内容通过order对象传入。

2.3 多表删除操作

使用Lambda构造器进行多表删除操作,可以通过以下方式实现

// 使用Lambda构造器进行多表删除操作
int result = userMapper.deleteOrder(Wrappers.<Order>lambdaQuery()
        .eq
``




你可能感兴趣的:(java-ee)