MyBatis Plus 简单使用

作者: 唯有努力不欺人丶 | 来源:发表于2019-11-11 15:13 被阅读0次

    因为最近接受的项目用的是Mybatis plus,所以熟悉使用了下这个框架。
    然后因为mybatis 用的就不多,所以很多东西我也不知道是plus的还是mybatis自带的,不过这里都当做是mybatis plus 的内容来讲了。

    背景交代

    这个起源于一个增加的需求,所以我要在数据库加一张维护表。
    因为真的关系简单,加上我有点想偷懒,所以这个表我设计的也简单的极点了,就俩字段:一个公司名,一个到期时间。(涉及到具体业务不太好说,反正这道这两个字段就行了)
    因为每个公司只会有一条记录,所以为了方便,所以我在数据库中把公司名设置为了主键。(这样保证了唯一性)

    修改

    这个其实是最基础简单的功能了,但是我居然都没一次成功。
    源于这边是手动添加的实体和dao层,所以也算是我自己的马虎大意,居然第一版本是实体没有加主键注解。
    所以在mybatis plus自带的方法中的update:


    mybatis plus的dao方法

    因为我想着公司名字不变,所以用下面的updateById正好适用。所以就用了这个方法,编译的时候倒是一次通过。
    嘴角含笑的跑起来测试的时候开始报错了。源于sql语句打印的条件是update...where null=?
    还好只是一时犯傻,想了一下就明白可能是实体没有主键注解,所以回到实体上添加主键注解:


    实体中添加主键注解
    然后再跑一次,updateById可以正常运行了。

    增加

    最简单的crud,一步一个坑,我也很无奈啊。
    刚刚的背景已经讲完了,这次这个操作是添加记录,继续说mp已经提供的方法:

    增加方法
    不就是直接传一个实体么,我倒是想的一如既往的简单,创建一个实体对象,把公司名,有效期传入。然后就把这个实体放到了insert方法里。
    很完美,一运行就报错。
    查原因呗?为什么插入不了?先直接看看运行的sql,只把有效期插入了,我的主键呢???访问我万能的度娘,哦,原来这种主键非自增的还要格外标注:
    百度上的教程
    然后我又屁颠屁颠去把实体主键注解改了。
    改完后的实体
    这次改完,再次跑接口,果然insert可以正常插入了。
    注:我把这个注解贴出来,方便大家复制粘贴:
    @TableId(type=IdType.INPUT)
    然后最后的删除倒是一次完成,要是再卡壳怕是转行的心都有了....

    分页

    基本的增删改查完成后,一个分页又砸到我头上,不过还好的就是mybatisplus对分页的封装蛮方便的,简单找了找教程demo,也就做出来了,这里分享下,以后如果再次用到也能直接拿来用:

            Page<ValidEntity> iPage = new Page<ValidEntity>(page,10);
            IPage<ValidEntity> pageList = validDao.selectPage(iPage, wrapper);   
    

    首先这里需要前段传来一个integer的参数,作为页数。我这里参数名就叫做page。
    然后new 一个page对象,第一个参数是页数,第二个参数是每页的条数。我这里页数是前端传来的,每页的条数写死为10条。
    接着用IPage 来接收查询结果。当然查询的时候用的也是selectPage,第一个参数是刚刚new 的那个page对象,第二个参数才是条件构造器。
    这里其实还有个注意点,我们获取到的这个IPage对象,他不是集合,而是mybatis封装的一个对象。感兴趣的可以自己去看看这个对象有什么、


    page对象

    所以有时候我们要在结果集中遍历的操作,需要遍历的是page对象中的对象集合。也就是要pageList.getRecords();


    page中获取对象及合
    就这么两三行代码,一个分页就完成了。
    (注意:如果想使用分页功能,要注入一个分页插件的bean。
        /**
         * 分页插件
         */
        @Bean
        public PaginationInterceptor paginationInterceptor() {
            return new PaginationInterceptor();
        }
    

    我反正是写在启动类了,如果你有专门的配置类也可以。

    总结

    其实mybatis plus随着越来越发展,用起来越来越方便了,很多时候你可能不知道他有什么功能,但是通用操作的mybatis plus已经封装好了。比如我之前为了接手这个项目也看了一天mybatis plus 的官网,感觉也从头到尾的看了一遍,可是真到了应用的时候,还是需要遇到问题再查百度的。
    也正是在这一点一点的学习中,对mybatis plus 的了解越来越深,会的越来愈多,比单纯的用眼睛看官网效果也要好。
    因为我现在在尽量养成每学习到一点东西就要记下来的习惯,所以以上是今天工作中的总结。
    如果稍微帮到你了请点个喜欢点个关注,也祝大家工作顺顺利利!

    相关文章

      网友评论

        本文标题:MyBatis Plus 简单使用

        本文链接:https://www.haomeiwen.com/subject/yudtictx.html