# Q&A

Q1

建这个轮子的目的是什么?世界上有那么多轮子还不够用吗?

A1

这个轮子的目的主要是减少定制化项目的开发量,将一些常用的需求通过技术的手段让开发者更快地开发出符合客户的业务要求。

轮子有很多,但没有一个综合的轮子,都是东边一拼西边一拼,各式各样,整合起来有的时候也会冲突,比较痛苦。


Q2

这个轮子真的只是增强,没有任何入侵吗?

A2

是的,真正意义的只是增强,完全没有入侵或修改(覆盖)原来的代码。也就是轮子本身帮你做的事情,拿掉轮子后你只需要将轮子帮你做的事情开发者自己实现就可以了,完全不会因为拿掉了轮子项目跑不起来了


Q3

有一个模块mybatis-jpa是做什么用的,和mybatis-plus有什么区别和联系吗?

A3

这个模块也是对mybatis的增强(和mybatis-plus是属于同一种轮子),更加方便地使用mybatis,但不影响mybatis原有功能。

和mybatis-plus的区别:

  • 只对mapper层增强,不会入侵service层。跟原来使用mybatis没什么两样
  • 完全地面向对象,在开发者使用时无需关注数据库字段跟类的字段关联。包括定义查询字段等
  • 部分符合jpa规范,又完全不失mybatis本身的灵活性

Q4

轮子是开源的吗?可以直接使用吗?

A4

轮子是开源的,开源协议为Apache 2.0 license

可以直接在项目maven引入,会自动下载jar包