MyBatis-Plus(简称 MP) 是一个MyBatis 的增强工具,在MyBatis 的基础只做增强不做改变,为简化开发,提高效率而生 官方地址: https://mybatis.plus/ MyBatis-Plus特征 官网说的特征太多了,挑了几个有特点的分享给大家.
: 无侵入:只做增强不做改变,引入他不会对现有的工程产生影响,如丝般顺滑:损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作支持Lambda 形式调用:通过Lanmbda表达式,方便的编写各类查询条件,无需再担心字段写错支持多种数据库:支持 MySQL.MariaDB.Oracle.DB2.H2.HSQL.SQLite.Postgre等多种数据库强大的 CRUD操作:内置通用 Mapper.通用Service仅仅通过少量配置即可实现单表大部分 CRUD操作,更有强大的条件构造器,满足各类使用类求内置分页插件:基于 MyBatis物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询一. MyBatis-Plus 优秀案例 接入企业 快速开始 安装 配置 注解 核心功能 代码生成器 CRUD接口 条件构造器 分页插件 Sequence主键 插件扩展 热加载 逻辑删除 通用枚举 自动填充 Sql注入器 二.代码生成器 1.这东西说直白的就是根据我们提供的数据库名和表名使用 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码。 三.条件构造器
Druid 是一个阿里开源的连接池组件 加⼊入了日志监控,不需要额外的界面开发 一.连接池运行原理 连接池初始化的时候按照initialSize创建多个连接 有DB操作访问的时候,就从里面取一个 如果当前正在使用的连接=maxActive,就会进入等待,没有到maxActive拿一个空闲连接,没有空闲就创建一个新连接,等待超过maxWati则会报错 使用完毕还回去等待其它人用,不会物理销毁 每一个connection在连接池里都有空闲时长的,允许最大空闲时长:minEvictableldleTimeMillis,多久检测一次:timeBetweenEvictionRunsMillis maxActive如何配置:理论上应该设置成最大并发数 只要连接被前端业务拿到就算不空闲了,这个时候如果说长时间占有连接,连接数是不会崩溃,连接池主动关闭是使用中的连接,属于一个高级功能 removeAbandoned=“true” removeAbandonedTimeout=“60” logAbandoned=“true”
PSCache PreparedStatement Cache 就要从MySQL的SQL执⾏行行过程来讲 连接器器 进⾏行行数据库连接,⽤用户名密码验证 show processlist 查询缓存 key-value, key是SQL, value就是结果集 ⼤大多数情况下不不建议使⽤用查询缓存 testOnBorrow: false testOnReturn: false poolPreparedStatements: false query_cache_type : DEMAND //默认的SQL都不不使⽤用查询缓存 mysql> select SQL_CACHE * from student where id=1; //声明使⽤用