当使用Mybatis-Plus时,常需要对数据库进行增、删、改、查等操作。可以使用Mybatis-Plus提供的BaseMapper接口来快速实现这些操作,而不需要自己手动编写SQL语句。
1. BaseMapper概述
BaseMapper是Mybatis-Plus提供的基础Mapper接口。该接口提供了常见的数据库操作,开发人员可以直接继承或者注入该接口来使用。
BaseMapper中提供的方法包含CRUD功能和批量操作功能,CRUD功能包含查询单个、批量查询,插入、更新和删除等。
BaseMapper方法的数据访问是默认使用Mybatis-Plus提供的mapper,也可以自定义Sql生成器。
基于BaseMapper的Mapper接口和Mybatis-Plus的自动生成Mapper接口的业务自定义Mapper接口都可以自由的扩展BaseMapper。
2. BaseMapper的使用
假设我们有一个User实体,其对应的数据库表为user_table,提供以下字段:
字段名 | 类型 | 说明 |
---|---|---|
id | int | 主键ID |
name | string | 姓名 |
age | int | 年龄 |
gender | string | 性别 |
为了使用BaseMapper,我们需要定义一个Mapper接口,继承BaseMapper并指定泛型参数为User。
public interface UserMapper extends BaseMapper<User> {
}
然后,我们就可以在业务代码中注入UserMapper对象,调用其提供的接口进行对数据库表的操作。下面是一些示例:
查询
查询单个:
User user = userMapper.selectById(1);
批量查询:
List<User> userList = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
查询所有:
List<User> userList = userMapper.selectList(null);
插入
插入单个:
User user = new User();
user.setName("Tom");
user.setAge(18);
user.setGender("male");
userMapper.insert(user);
插入多个:
List<User> userList = new ArrayList<>();
User user1 = new User();
user1.setName("Tom");
user1.setAge(18);
user1.setGender("male");
User user2 = new User();
user2.setName("Jerry");
user2.setAge(19);
user2.setGender("female");
userList.add(user1);
userList.add(user2);
userMapper.insertBatch(userList);
更新
更新:
User user = userMapper.selectById(1);
user.setName("John");
userMapper.updateById(user);
删除
删除单个:
userMapper.deleteById(1);
批量删除:
userMapper.deleteBatchIds(Arrays.asList(1, 2, 3));
3. 总结
BaseMapper是Mybatis-Plus提供的基础Mapper接口,可以帮助开发人员快速实现数据库的增、删、改、查等操作,避免手写SQL语句,提高开发效率。在使用BaseMapper时,我们需要定义Mapper接口来继承该接口,并指定泛型参数为实体类。然后我们就可以在业务代码中使用Mapper接口调用BaseMapper提供的接口进行对数据库表的操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis-Plus BaseMapper的用法详解 - Python技术站