首先我们要在pojo类中继承一个model抽象类,泛型是我们的pojo类型
mybatis plus学习笔记 AR三
然后会要求重写pkVal方法,返回的是数据库的主键列
mybatis plus学习笔记 AR三
那么怎么用呢,下面就做一个插入操作。
mybatis plus学习笔记 AR三
上图中首先创建了一个student对象,传入值,然后用student对象的insert方法插入到数据库,其实它的方法和BaseMapper差不多,但是他是只操作Pojo对象就可以实现数据的CRUD。我们查看一下发送的sql与结果。
mybatis plus学习笔记 AR三
上图中就是发送的sql语句,可以看到发送了一条插入语句。
mybatis plus学习笔记 AR三
上图是我们练习的根据id修改表中对应记录的练习。但是一定要注意,要想使updateById生效,必须要在pojo对象的主键列中声明主键策略,否则会报错。下面我们查看一下sql语句与结果:
mybatis plus学习笔记 AR三
发送的sql语句没有一点错误。
下面我们根据sid查询单条记录。
mybatis plus学习笔记 AR三
上图中我们就是根据sid查询对应的记录,看一下发送的sql语句与返回的结果。
mybatis plus学习笔记 AR三
mybatis plus学习笔记 AR三
从上面的两个图可以看出发送的sql语句是没有问题的,返回的查询结果也是没有任何问题的。
mybatis plus学习笔记 AR三
上图中可以看出我们使用了selectAll方法,查询数据库中的所有数据,下面看一下发送的sql语句与查询的返回结果。
mybatis plus学习笔记 AR三
mybatis plus学习笔记 AR三
从上图看得出来查询语句没有问题,Total返回14个结果,返回的查询结果也没有问题。
mybatis plus学习笔记 AR三
上图是AR的条件查询,看一下发送的sql与查询返回的结果。
mybatis plus学习笔记 AR三
mybatis plus学习笔记 AR三
上图发送的sql是没有问题的,条件是sex为男,并且查询结果为前四个。查询结果也是没有问题的。
mybatis plus学习笔记 AR三
可以看出上图我们是根据构造条件查询性别为男的在数据库有多少人。
mybatis plus学习笔记 AR三
mybatis plus学习笔记 AR三
可以看出发送的sql语句是没有问题的,返回结果是7也是没有问题的。
下面我们根据id删除对应的数据库中对应的记录。
mybatis plus学习笔记 AR三
然后我们查看打印结果。
mybatis plus学习笔记 AR三
可以看出我们的删除语句是没有问题的,数据库更新条数也是正确的。sid为23的删除成功,但是我们再次删除sid为23的会怎样。
mybatis plus学习笔记 AR三
我们把它变成这种形式,当然sid为23的记录已经不存在了,然后执行。查看结果
mybatis plus学习笔记 AR三
可以看到我们发送的sql是没有问题的,数据库的更新条数为0,但是返回的还是true,然后我们看一下源代码注释给出的解释。
mybatis plus学习笔记 AR三
再次点击deleteById方法查看。
mybatis plus学习笔记 AR三
可以看到注释中解释到删除不存在的逻辑上属于成功,这也就是即使删除的内容在数据库中不存在,在逻辑上也是正确的。
mybatis plus学习笔记 AR三
从上图可以看出我们使用条件删除,名字为漫游的记录
mybatis plus学习笔记 AR三
可以看到发送的sql语句是没有问题的,数据库更新条数为1,返回true,是可以的。这时漫游已经不存在了,我们再次执行一下。
mybatis plus学习笔记 AR三
上图中可以看出数据库更新条数是0,但是返回true,这个和上面的是一样的,数据库对应的数据不存在的话,在业务上也是正确的。
mybatis plus学习笔记 AR三
上图是AR分页构造条件查询,但是要注意,它与BaseMapper的区别在于他的SelectPage返回的不是List而是Page,但是Page有个getRecords可以返回查询的数据,其实Page就是对我们分页信息的一些封装。我们查看一下源码。
mybatis plus学习笔记 AR三
可以看到sqlSession调用selectList查询数据,然后返回List数据,然后就把他封装到了page的Records属性上去了,然后返回这个page对象。我们查看刚刚的执行结果。
mybatis plus学习笔记 AR三
mybatis plus学习笔记 AR三
可以看出来,我们发送的sql语句是没有问题的,查询结果也是没有问题的。

相关文章: