mybatisplus自带的方法是不是可以直接从数据库获取数据
时间: 2023-07-30 15:07:49 浏览: 102
是的,MyBatis-Plus 提供了一些方便的方法可以直接从数据库获取数据。这些方法包括但不限于:
1. `selectById`:根据主键 ID 查询单条记录。
2. `selectBatchIds`:根据一批主键 ID 查询多条记录。
3. `selectOne`:根据条件查询单条记录。
4. `selectList`:根据条件查询多条记录。
5. `selectMaps`:根据条件查询多条记录,并返回 Map 集合形式的结果。
6. `selectPage`:根据条件分页查询记录。
使用这些方法可以方便地从数据库中获取数据,无需手动编写 SQL 语句。同时,MyBatis-Plus 还提供了其他更高级的查询方法,如条件构造器、Wrapper 查询、Lambda 查询等,可以更灵活地满足各种查询需求。
相关问题
mybatisplus自带方法使用
Mybatis-Plus 是一个 Mybatis 的增强工具,在 Mybatis 的基础上进行了扩展,简化了开发流程,提高了开发效率。Mybatis-Plus 提供了很多自带方法,可以使用这些方法来进行常规的增删改查操作,使用起来非常方便。下面是一些常用的自带方法:
1. 插入数据
```java
// 插入一条记录
int insert(T entity);
// 插入一条记录(选择字段, null字段不插入)
int insertSelective(T entity);
// 批量插入数据
int insertBatch(List<T> entityList);
// 批量插入数据(选择字段, null字段不插入)
int insertBatchSomeColumn(List<T> entityList);
```
2. 删除数据
```java
// 根据 ID 删除
int deleteById(Serializable id);
// 根据 columnMap 条件删除记录
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
// 删除(根据ID 批量删除)
int deleteBatchIds(Collection<? extends Serializable> idList);
// 根据 entity 条件删除记录
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
```
3. 更新数据
```java
// 根据 ID 修改
int updateById(T entity);
// 根据 ID 选择修改
int updateSelectiveById(T entity);
// 根据 whereEntity 条件,更新记录
int update(T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);
// 根据 whereEntity 条件,选择更新记录
int updateSelective(T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);
```
4. 查询数据
```java
// 根据 ID 查询
T selectById(Serializable id);
// 根据 entity 条件,查询一条记录
T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根据 entity 条件,查询总记录数
int selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根据 entity 条件,查询全部记录
List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根据 entity 条件,查询全部记录(并翻页)
IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根据 Wrapper 条件,查询全部记录(并翻页)
IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
// 根据 Wrapper 条件,查询全部记录(并翻页)
IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
```
其中,`Wrapper` 是 Mybatis-Plus 提供的一个条件构造器,用于构造查询条件。可以通过 `QueryWrapper`、`UpdateWrapper`、`LambdaQueryWrapper`、`LambdaUpdateWrapper` 等方式来创建 `Wrapper` 对象。
mybatisplus 自带插入 获取主键获取
在 MyBatis-Plus 中,使用自带的插入方法可以获取插入后的主键值。具体的操作步骤如下:
1. 在实体类中配置主键生成策略,可以使用 `@TableId` 注解来指定主键字段,并设置主键生成策略。例如:
```java
@TableId(type = IdType.AUTO) // 设置主键生成策略为自增
private Long id;
```
2. 在插入数据时,使用 MyBatis-Plus 提供的插入方法,并将实体对象作为参数传入。例如:
```java
User user = new User();
user.setName("John");
user.setAge(25);
user.setEmail("john@example.com");
// 使用自带的插入方法插入数据
boolean result = userMapper.insert(user);
```
3. 插入成功后,可以通过实体对象的主键属性来获取插入后的主键值。例如:
```java
Long primaryKey = user.getId();
```
这样就可以通过 MyBatis-Plus 的自带插入方法来获取插入后的主键值了。请注意,以上示例代码仅供参考,具体使用时需要根据实际情况进行调整。