![](https://img-blog.csdnimg.cn/img_convert/bae59ea154f18f340aa1478bb22c3171.png)
本文是向大家介绍Fluent Mybatis ,其实不是介绍,如果只是简单介绍,官方文档足够了。而是实战深入,比较适合已经有一定了解FluentMybatis的同学。
它能够实现多数据源接入,不使用默认傻瓜式配置,避免泛泛而谈,似是而非,转眼就忘~
而是能够带来深入理解FluentMybatis的使用价值。
有兴趣的同学,不妨考虑适配Sharding-jdbc,Zdal-jdbc,组合使用,刚好可以锻炼提升一下~
前言: 什么是Fluent Mybatis
简单入门: 地址
![](https://img-blog.csdnimg.cn/img_convert/cce567991ecd3a371d26d83f9442a183.png)
和其他plus 框架比较
- |
Mybatis Plus |
Fluent Mybatis |
代码生成 |
生成 Entity, Mapper, Wrapper等文件, 并且Generator很好用 |
只生成Entity, 再通过编译生成 Mapper, Query, Update 和 SqlProvider |
和Mybatis的共生关系 |
需要替换原有的SqlSessionFactoryBean |
对Mybatis没有任何修改,原来怎么用还是怎么用 |
动态SQL构造方式 |
应用启动时, 根据Entity注解信息构造动态xml片段,注入到Mybatis解析器 |
应用编译时,根据Entity注解,编译生成对应方法的SqlProvider,利用mybatis的Mapper上@InsertProvider @SelectProvider @UpdateProvider注解关联 |
动态SQL结果是否容易DEBUG跟踪 |
不容易debug |
容易,直接定位到SQLProvider方法上,设置断点即可 |
动态SQL构造 |
通过硬编码字段名称, 或者利用Entity的get方法的lambda表达式 |
通过编译手段生成对应的方法名,直接调用方法即可 |
字段变更后的错误发现 |
通过get方法的lambda表达的可以编译发现,通过字段编码的无法编译发现 |
编译时便可发现 |
不同字段动态SQL构造方法 |