BaseMapper<User, Integer> 中的Integer可以省去, 而只有User一个参数吗
时间: 2024-02-13 10:05:40 浏览: 109
BaseMapper<User, Integer>中的Integer可以省去,只保留User一个参数也是可以的。
在MyBatis框架中,BaseMapper通常是一个基础的数据访问接口,提供了一些基本的CRUD(增删改查)方法。具体而言,User表示实体类,而Integer表示实体类中主键的类型(一般为整型),如果我们在定义BaseMapper时只需要指定实体类而不需要指定主键类型,那么在具体的Mapper接口中,我们就需要手动指定主键类型。
例如,我们可以这样定义BaseMapper接口:
```
public interface BaseMapper<T> {
T selectByPrimaryKey(Integer id);
int insert(T record);
int updateByPrimaryKey(T record);
int deleteByPrimaryKey(Integer id);
}
```
在上述代码中,我们使用泛型T表示实体类,而在具体的方法中,我们手动指定了主键类型为Integer。
当我们在定义具体的Mapper接口时,可以这样使用BaseMapper接口:
```
public interface UserMapper extends BaseMapper<User> {
// 自定义方法
}
```
在UserMapper接口中,我们只需要指定实体类为User,而不需要再手动指定主键类型,因为BaseMapper接口中的方法已经默认使用了Integer作为主键类型。
因此,如果我们不需要手动指定主键类型,可以只保留一个参数User,而将主键类型的参数省略掉。
阅读全文