mybatisPlus

  • mybatisplus
    使用mybatis对单表curd的操作都是在mapper.xml中进行代码的书写,比较麻烦,在对数据库中的表进行封装实体时,书写比较麻烦,
    mybatisplus是对mybatis的进一步封装,简称是mp 是加强版工具,提高了开发效率,可以自动生成简单的操作方法
    架构原理就是通过实体类 推测是数据表结构,在自动生成对应curd的操作方法
    特点是
    无侵入:只做增强不做修改,不会对现有工程产生影响,
    效率高:自动生成curd基本操作,直接面向对象操作 BaseMapper
    内置了分页插件 支持多种数据库

搭建环境springboot+mybatisplus
创建表 添加数据
mybatisPlus_第1张图片
初始化项目 创建boot,导入依赖,
mybatisPlus_第2张图片
注意:不用同时导入mybatis依赖和mybatis-plus依赖,导入一个就可以了
连接数据库方式是一样的
注意数据库的版本不一样连接的driver是不一样的先查看自己的数据库版本号是多少 右击localhsot 主机查看连接信息
mybatisPlus_第3张图片
mybatisPlus_第4张图片
完整路径:jdbc:mysql://localhsot:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8
如果是8的话是jdbc:mysql://localhsot:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
先用idea来测试连接数据库
mybatisPlus_第5张图片
mybatisPlus_第6张图片
mybatisPlus_第7张图片
在idea中可以设置连接的库
mybatisPlus_第8张图片
注意在mapper包下的写接口的时候尽量使用@mapper注解来代表是一个持久层,建议不要使用@repository注解不然还需要在启动类上写@MapperScan(“mapper路径”)有时候还会报错,
mybatisPlus_第9张图片
mybatisPlus_第10张图片

传统连接方式:dao(l连接数据库,配置mapper.xml文件)-pojo-service-controller
mybatis-plus是自动生成dao层,也就是说mapper接口只需要继承一个BaseMapper类,就可以了,实体类可以使用lombok工具,实体类和接口都是自定义的,但是里面的方法是自动生成的,也就是mybatisplus是通过实体类来创建自动生成curd方法,

  • 配置日志输出
    想要看sql语句执行必须要看日志啊
    配置日志在配置文件中在application.yml中mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.stdOutImpl
    主键生成策略
    在实体类上主键上写上@TableId(type=idtype.auto) 数据库的字段上一定要是自增,
    做分页处理
    1先配置分页插件在一个配置类中
    mybatisPlus_第11张图片
    mybatisPlus_第12张图片
    mybatisPlus_第13张图片
    自己写一个多表查询 在接口中创建方法
    mybatisPlus_第14张图片
    在测试中调用实现
  • 总结一下
    mybatis简化了jdbc mybatis-plus简化了mybatis,有没有发现框架正在机械化,也就是说可以偷懒,简单的业务逻辑可以自动化生成,
    mybatis-plus只是对mybatis框架进行了增强,不做改变,
    启动后自动注入curd操作,只需要手动创建实体类,在写一个mapper接口继承BaseMapper就可以生成简单的单表curd操作方法,
    支持主键自动生成,可选生成器,
    内置了分页插件,相当于是limit函数使用
    支持多种数据库类型,
    支持日志输出
    内置拦截器
    导入相关依赖 数据库启动依赖 lombok依赖 mybatisplus依赖
    连接数据库的方式主要一下
    mysql 5 驱动不同 com.mysql.jdbc.Driver
    mysql 8 驱动不同com.mysql.cj.jdbc.Driver、需要增加时区的配置serverTimezone=GMT%2B8
    spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?
    useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    注意数据访问层dao接口注解可以使用@mapper或是@repository这两种但是使用了@repository注解后需要在启动类上添加一个MapperScan()来扫描mapper层注解,还不如直接加上@mapper方便
    配置打印日志
    在配置文件中配置,建议使用yml配置文件
    mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.stdOutImpl
    这样就会控制台中输出日志
    主键生成
    在实体类上字段上添加@TableId(type=IdType.Auto)
    数据库上表字段也设置成自增
    配置分页插件 不使用原始的limit函数分页
    在配置类中实例化一个对象
    直接调用这个对象就可以了
    mybatisPlus_第15张图片
    条件构造器wrapper对象

你可能感兴趣的:(笔记)