MyBatis-Plus&Druid数据源的基本认识

tech2022-09-12  108

什么是MyBatis-Plus?MyBatis-Plus的优势?

MyBatis-Plus(简称MP)是一个MyBatis的增强工具,提供给我们很多实用的插件。在Mybatis的基础上只做增强不做改变,为简化我们开发,提高工作效率而生。

在学习一门新的知识之前,我们应该了解这个知识点能做什么,有什么优缺点,我应该怎么快速的学习它,怎样快速上手,带着问题去学习,才能更好的掌握它。那我们来看一下学习Mybatis-Plus应该想到什么呢?

MyBatis-Plus的有些什么特性?

无侵入:MyBatis-Plus是在MyBatis的基础上增强的,而没有做任何的改变,所以在项目中引入MyBatis-Plus不会对你的现在的MyBatis构架有任何的影响

依赖少:引入MyBatis-Plus要导入什么包呢?仅仅依赖MyBatis与MyBatis-Spring就可以了

损耗小:启动之后,会自动注入基本的CRUD,性能基本无消耗,直接面向对象操作

支持热加载:Mapper对应的XML支持热加载,对于简单的CRUD操作,甚至可以无XML启动

支持代码生成:采用代码或Maven插件可快速生成Mapper、Model、Service、Controller层代码,支持模板引擎,更提供了超多的自定义配置让你使用

MyBatis-Plus优势详情请点这

MyBatis-Plus的基本使用步骤

详情请点这

MyBatis-Plus实现复杂查询怎么做?

像这样的sql一般都在mapper里通过@select注解来做吧,如下: 持久层: @Select(“select * from role where role_code in(select role_code from user_role where username = #{username})”) List getUserRoles(String username); 业务处理: List list = userMapper.getUserRoles(username);

Druid数据源的优势?

阿里的 druid :它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。

Druid 相对于其他数据库连接池的优点:

1.强大的监控特性,通过Druid提供的监控功能,可以清楚知道连接池和SQL的工作情况。

a. 监控SQL的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信息;

b. SQL执行的耗时区间分布。什么是耗时区间分布呢?比如说,某个SQL执行了1000次,其中01毫秒区间50次,110毫秒800次,10100毫秒100次,1001000毫秒30次,1~10秒15次,10秒以上5次。通过耗时区间分布,能够非常清楚知道SQL的执行耗时情况

c. 监控连接池的物理连接创建和销毁次数、逻辑连接的申请和关闭次数、非空等待次数、PSCache命中率等。

2.其次,方便扩展。Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法,可以在上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。

3.Druid集合了开源和商业数据库连接池的优秀特性,并结合阿里巴巴大规模苛刻生产环境的使用经验进行优化

最新回复(0)