初学篇-mybatis-plus使用和介绍,从代码例子使用中说明,看了就会用


前言

推荐在mybatis-plus官网上看,比较详细,本篇文章适合初次使用mybatis-plus,简单使用CRUD接口


mybatis-plus使用和介绍,从使用中说明

一、mybatis-plus介绍

Mybatis-Plus是一个Mybatis的增强工具,在不改动Mybatis的基础上做了功能升级,简化开发、提升效率

二、mybatis-plus整合springboot使用

第一步:在pom.xml上加入依赖包

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.2</version>
</dependency>

第二步:在.yml或者. properties文件设置配置信息(这里是yml的写法)

mybatis-plus:
  mapper-locations: classpath*:mybatis/mapper/*Mapper.xml #扫描xml的路径,支持原来的xml配置
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 输入sql执行情况

第三步:在接口类上继承BaseMapper(T是泛型,是操作库表的实体)

public interface UserMapper extends BaseMapper<UserEntity> {

}

继承BaseMapper是为了使用mybatis-plus封装好的CRUD,里面的操作可以满足我们大部分的业务需求

第四步:T实体设置,实体需要Serializable

实体设置说明
@TableName(“sys_user”)设置表名,如果表名和实体类名一致开始不用设置
@TableId(“userId”)设置ID,在封装好的CRUD有通过ID查找和删除的操作,需要你指定是按个字段,如果不设置,默认字段名就是ID,如果库表的字段没有id这个字段就是报错,找不到字段名
@TableField(“userName”)字段名设置,我们写到代码都是使用驼峰命名,在mybatis-plus里,实体的属性名是驼峰命名是默认转换成翻译为kebab_case,把驼峰换成"_"来表示。如果库表的字段名和属性不一致,需要自己设置

代码样例:

@TableName("sys_user")
@Data
public class UserEntity implements Serializable {

    @TableId("userId")
    private int userId;

    @TableField("userName")
    private String userName;

    private int age;

    private String sex;

    private String password;
}

第五步:启动类加入扫描dao

@MapperScan("org.example.mapper")

第六步:完成整合

三、mybatis-plus的CRUD接口使用例子说明

CRUD接口有两个不同选择,一个是IService,一个是BaseMapper

3.1 BaseMapper CRUD接口使用例子(用到的实体和第二章是实体一致)

1) Insert
    /**
     * 新增数据
     *
     * @return
     */
    @Override
    public int addUser(UserEntity userEntity) {
        return userMapper.insert(userEntity);
    }
2) delete
 /**
     * 根据主键删除
     *
     * @return
     */
    @Override
    public int deleteUserById(String id) {
        return userMapper.deleteById(id);
    }

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    @Override
    public int deleteUserBatchIds(List<String> ids) {
        return userMapper.deleteBatchIds(ids);
    }

    /**
     * 条件删除,表达式
     *
     * @return
     */
    @Override
    public int deleteUser() {
        QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
        queryWrapper.ge("age", 19)
                .le("age", 30);
        return userMapper.delete(queryWrapper);

//        //字段删除,都是“=”
//        Map<String, Object> columnMap = new HashMap<>();
//        columnMap.put("userName", name);
//        return userMapper.deleteByMap(columnMap);
    }
3) update
/**
 * 主键更新
 *
 * @return
 */
@Override
public int updateUserById(UserEntity userEntity) {
    return userMapper.updateById(userEntity);
}

/**
 * 条件更新,update不会更新主键
 * ==>  Preparing: UPDATE sys_user SET userName=?, age=?, sex=?, password=? WHERE (age >= ? AND age <= ?) 
 * ==> Parameters: aaaaaaaaaaaaa(String), 60(Integer), 男(String), 12sssssssssss3(String), 30(Integer), 40(Integer)
 * <==    Updates: 1
 * @return
 */
@Override
public int updateUser(UserEntity userEntity) {
    UpdateWrapper<UserEntity> updateWrapper = new UpdateWrapper<>();
    updateWrapper.ge("age", 30)
            .le("age", 40);
    return userMapper.update(userEntity,updateWrapper);
}
4) select
/**
 * mybatis plus 使用selectById,id标识是在实体上的字段标志@TableId("字段名"),不然默认是去id属性,没有id属性就是null
 *
 * @param id
 * @return
 */
@Override
public UserEntity queryUserById(String id) {
    return userMapper.selectById(id);
}

/**
 * 条件查询,可以组合表达示
 *
 * @return
 */
@Override
public List<UserEntity> queryUserList() {
    QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
    queryWrapper.ge("age", 18)
            .le("age", 30);
    return userMapper.selectList(queryWrapper);
}

3.2 IServiceCRUD接口使用例子(用到的实体和第二章是实体一致)

总结

开始整合mybatis-plus的时候,都是用回原来那个xml的方法来使用,不是很清楚怎么用它提供API,慢慢研究了一下,就写出一些例子,给自己一个开头,慢慢就会使用,大家有什么好的建议,提出来,一起学习

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis-Plus是一个Java持久层框架,它在MyBatis的基础上提供了更加便捷和强大的功能。LambdaQueryWrapper是MyBatis-Plus的一个查询条件构造器,它可以通过Lambda表达式来编写查询条件,使得代码更加简洁和易读。 使用LambdaQueryWrapper可以按照以下步骤进行: 1. 导入相关的依赖:在项目的pom.xml文件添加MyBatis-Plus的依赖。 2. 创建LambdaQueryWrapper对象:通过LambdaQueryWrapper的构造方法创建一个查询条件构造器对象。 3. 编写查询条件:使用LambdaQueryWrapper对象的方法来编写查询条件。可以使用Lambda表达式来指定查询字段、条件和关联关系等。 4. 执行查询操作:调用MyBatis-Plus提供的相应方法执行查询操作,如selectList、selectOne等。 下面是一个简单的示例代码,演示如何使用LambdaQueryWrapper进行查询: ```java import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; importimport com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserService { @Autowired private UserMapper userMapper; public List<User> getUserListByAge(int age) { LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(User::getAge, age); return userMapper.selectList(queryWrapper); } } ``` 在上面的代码,我们首先导入了LambdaQueryWrapper和Wrappers类。然后,在getUserListByAge方法,我们创建了一个LambdaQueryWrapper对象queryWrapper,并使用eq方法指定了查询条件,即查询年龄等于指定值的用户记录。最后,调用userMapper的selectList方法执行查询操作,并返回查询结果。 这只是LambdaQueryWrapper的一个简单示例,你可以根据实际需求使用其他方法和条件来编写更复杂的查询条件。同时,MyBatis-Plus还提供了很多其他的功能和特性,你可以查阅官方文档来了解更多详情。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

binggoling

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值