Mapper继承BaseMapper
时间: 2023-07-21 09:04:09 浏览: 52
Mapper 继承自 BaseMapper,是一种常见的 MyBatis 的使用方式。BaseMapper 是一个通用的 Mapper 接口,它提供了许多基本的 CRUD 操作方法,如 insert、update、delete、select 等,可以满足大部分的数据操作需求。而 Mapper 则是一个具体的业务 Mapper 接口,它继承自 BaseMapper,并在其中定义了一些特定的方法,用于实现对某个实体类的数据访问操作。通过这种方式,我们可以避免写重复的增删改查方法,提高代码的重用性和可维护性。
相关问题
在mapper继承basemapper的情况下如何使用mybatisplus进行新增操作
在Mapper接口继承BaseMapper的情况下,使用MyBatis Plus进行新增操作非常简单。只需要按照以下步骤进行操作即可:
1. 创建实体类,实体类中的属性应该与数据库表中的字段一一对应。
2. 在业务逻辑层中,创建实体类对象,并将需要插入的数据设置到实体类中。
3. 调用BaseMapper中的insert方法即可将数据插入到数据库中,如下所示:
```
User user = new User();
user.setName("Tom");
user.setAge(20);
baseMapper.insert(user);
```
这就是在Mapper接口继承BaseMapper的情况下,使用MyBatis Plus进行新增操作的基本步骤。值得注意的是,在使用BaseMapper进行数据操作时,实体类中必须指定主键的生成策略,否则会抛出异常。
在service接口继承iservice,其实现类实现serviceimpl,mapper继承basemapper,serviceimpl实现类仅注入mapper的依赖没有其它代码,controller只能注入service依赖的情况下如何通过controller层基于mybatis-plus实现条件分页查询
您可以在controller中注入service依赖,在service中注入mapper依赖,然后在service中实现条件分页查询的方法,最后在controller中调用该方法即可。
具体实现如下:
1. 在mapper中定义条件分页查询的方法,例如:
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserByPage(Page<User> page, @Param("username") String username);
}
```
2. 在service中实现该方法,例如:
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public Page<User> selectUserByPage(Page<User> page, String username) {
return page.setRecords(this.baseMapper.selectUserByPage(page, username));
}
}
```
3. 在controller中调用该方法,例如:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public Page<User> selectUserByPage(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
@RequestParam(required = false) String username) {
Page<User> page = new Page<>(pageNum, pageSize);
return userService.selectUserByPage(page, username);
}
}
```
这样就可以通过controller层基于mybatis-plus实现条件分页查询了。