可以直接继承basemapper吗
时间: 2023-10-03 11:09:20 浏览: 85
是的,MyBatis-Spring-Boot-Starter 提供了一个基础的 `BaseMapper` 接口,它包含了一些常用的增删改查方法,我们可以直接继承它来完成数据的访问操作,而无需手动编写 SQL 语句。
要使用 `BaseMapper`,首先需要在 `pom.xml` 文件中添加 `mybatis-spring-boot-starter` 的依赖:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
```
然后,在我们的 Mapper 接口中继承 `BaseMapper` 接口,并指定实体类的类型:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
这样,我们就可以在 `UserMapper` 中直接调用 `BaseMapper` 中定义的方法了。例如,如果我们需要通过主键来查询一个用户,可以使用 `selectById` 方法:
```java
User user = userMapper.selectById(1L);
```
如果我们需要插入一条用户数据,可以使用 `insert` 方法:
```java
User user = new User();
user.setName("张三");
user.setAge(18);
userMapper.insert(user);
```
如果我们需要修改一条用户数据,可以使用 `updateById` 方法:
```java
User user = new User();
user.setId(1L);
user.setName("李四");
user.setAge(20);
userMapper.updateById(user);
```
如果我们需要删除一条用户数据,可以使用 `deleteById` 方法:
```java
userMapper.deleteById(1L);
```
需要注意的是,`BaseMapper` 中的方法都是基于实体类的主键来操作的,如果我们需要使用其他条件来查询或修改数据,仍然需要手动编写 SQL 语句。
阅读全文