Springboot整合Mybatis-Plus

何为Mybatis-Plus?

Mybatis-plus是为了简化开发而诞生的,在Mybatis的基础上进行了升级,通过调用一些方法从而实现对数据库的增删改查操作,也可以自己使用xml文件来写自定义的sql,也可以结合QueryWrapper来进行查询(个人理解)。
mybatis-plus官网了解一下?

Mybatis-Plus依赖引入

  <!--MybatisPlus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>

实现

首先要穿件xml文件来映射实体类和数据库字段的关系:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.admin.mapper.UserMapper">
    <resultMap id="BaseResult" type="com.admin.model.User">
        <id column="id" jdbcType="INTEGER" property="id"></id>
        <result column="user_name" jdbcType="VARCHAR" property="userName"></result>
        <result column="password" jdbcType="VARCHAR" property="password"></result>
        <result column="age" jdbcType="INTEGER" property="age"></result>
        <result column="is_delect" jdbcType="INTEGER" property="isDelect"></result>
    </resultMap>
</mapper>

然后在自己的mapper层接口继承BaseMapper类,该父类需要传入一个泛型对象,这个泛型对象就是数据库表对应的实体类
在这里插入图片描述
这里有个坑:
继承这个父类需要引入import org.apache.ibatis.annotations.Mappe,而不是import tk.mybatis.mapper.common.BaseMapper

org.apache.ibatis.annotations.Mapper包比import tk.mybatis.mapper.common.BaseMapper的方法更多,而且支持使用QueryWrapper进行查询。

使用实例
 @Test
    public void selectAll(){
        List<User> user = userMapper.selectList(null);
        user.forEach(System.out::println);
    }
结果

在这里插入图片描述

结合QueryWrapper进行查询
@Test
    public void withWrapper(){
        QueryWrapper<User> wrapper= new QueryWrapper<>();
        //age不为空
        wrapper.isNotNull("age");

        //age大于10
        wrapper.ge("age",10);

        //name_name为dog
        wrapper.eq("user_name","dog");

        //age在10到30之间
        wrapper.between("age",10,30);

        //根据age降序排列
        wrapper.orderByDesc("age");

        List<User> userList = userMapper.selectList(wrapper);

        logger.info("The QueryWrapper is:{}",wrapper.toString());

        userList.forEach(System.out::println);
    }

结果:
在这里插入图片描述

坑二
数据库表设计:
在这里插入图片描述

数据库里的字段,如果数据库的字段不是一个英文单词可以搞定的,就要使用下划线作为两个单词之间的区分,如:user_name和is_delect,不能写成username/userName,isDelect/isdelect,这样的字段,MyBatis-Puls不能识别,会报“user_name”无法识别的错误(此处假设数据库使用username进行举例)

关于QueryWrapper

这个对象是用于封装查询条件的,该对象中有很多的方法,例如isNotNull,eq,between等等,感兴趣的可以去百度学习一波。

MyBatis-Puls可以用的方法有很多,感兴趣的也还是可以去学习一波。

最近面试面得有点抑郁,哈哈哈。还是加油叭。
一分耕耘一分收获。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值