【翠花学mybatis-plus】mybatis-plus

创建项目注意事项

创建项目时须勾选如下图所示的三个内容

创建完成之后在pom文件中导入mybatis-plus依赖:

 引入jar包时,注意你项目类型,springboot型和普通maven型,引入的库是不一样的,详细见MyBatis-PlusMyBatis-PlusMyBatis-Plus

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

并把mysql的版本号改为5.1.26

在YAML文件中连接数据库并配置日志

创建实体类注意事项

由于不需要编写任何sql语句,实体类和表之前的对应关系变得尤为重要,java通常采用驼峰命名法,但是数据库的表名和列名没有驼峰命名规定的,因为在mysql中表名和列名默认情况都是大写字母,数据库命名规范为下划线命名法,多个单词组成用_分割,默认情况下,实体类叫做userName,在下划线命名法中就会变成user_name,所以在使用mybatis-plus框架中,尤其要注意。

Mybatis-plus为了方便这种命名法的转换出现一些不必要麻烦,提供了3个注解帮助你解决命名这块的问题:

@TableName:mybatis-plus中的注解,主要实现实体类型和数据库的表实现映射 。

@TableId:专门用在主键上的注解,IdType.AUTO表示自增,即在实施增加操作时,默认主键自动加1。

@TableField:该注解用于标识非主键的字段。

具体如下:

编写mapper接口注意事项

@Mapper:把mapper这个DAO交给Spring管理。

注意:mapper接口中无需再写sql语句,必须继承BaseMapper<实体类>类,且泛型必须为此接口对应的实体类。

 编写service接口注意事项

注意:service接口必须继承IService<实体类>这个类,且泛型必须为实体类。

点开此类可以发现,里面有基础的CRUD操作,无需再手动编写。

 编写实现类注意事项

@Service:标记该类为service类

@Transactional:添加事务

注意:实现类必须继承ServiceImpl<mapper接口,实体类>,并且要实现service接口

增删改查操作

编写控制器:

调用service里自动生成的查询列表操作。

 打开postman软件进行测试。

 其余操作如下图所示。

条件为必须时的查询操作

以登录为案例:

登录时所需的条件由条件构造器进行封装。

QueryWrapper:条件构造器。用于生成 sql 的 where 条件, entity 属性也用于生成 sql 的 where 条件。

打开IService类源码可以看到,getOne方法及根据条件获取对象,符合登录所需,所以登录可使用该方法。

其中eq等于=。

进行测试。

 条件不是必须时的查询操作

条件不是必须时查询操作查出的可能会是集合,所以调用的方法为list,其中:

like:'%值%'

ge:>=

le:<=

完成测试。

 分页操作

以book表为实体类,创建实体类,编写mapper接口,编写service接口,编写service实现类,均与上面操作相同,这里不一一赘述。

编写分页插件的配置文件:

PaginationInnerInterceptor:分页插件

编写控制器:

进行测试:

分页对象Page中的属性:

records:列表数据

total:总记录数

Size: 每页显示记录数

Current:当前页

Pages:总页数

 分页+条件查询+降序

要求:

根据选择的类型模糊查询,并按创建时间降序排列。

@RequestParam:将请求参数绑定到控制器方法的参数上。

进行测试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BUG忠实爱好者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值