# 1.0.1 版本

1.初始化项目 mybatis-plus-join项目诞生

# 1.0.2 版本

1.优化了selectAs()方法,支持函数简洁式写法
2.增加了缓存优化性能

# 1.0.3 版本

1.支持3.4.3.4版本
2.增加根据传入实体不为空的数据查询
3.优化了代码逻辑
4.增加notDefaultSelectAll() 不默认查询主表全部的字段

# 1.0.4 版本

1.支持查询单个参数时候返回单个参数,例如List<String> String
2.优化转换类型的方式

# 1.0.5 版本

1.修复在没有条件下order 排序失效的问题

# 1.0.6 版本

1.修复实体条件为主键ID的时候没有加别名问题
2.增加返回值支持一对一查询

# 1.0.8 版本

1. 增加了多对多映射
2. 去掉了fastJSON依赖
3. 更改serviceImpl动态返回类型的处理方式,采用更优的插件式注入方式

   这次终于去掉了总是说的fastJSON依赖,现在采用动态注入resultMap方式,来构建普通多表,一对一,多对多查询,采用插件式懒加载 + 缓存机制,启动时间无影响,使用加载一下就可以直接从缓存调用,保证不影响使用中的效率。

# 1.0.9 版本

1. 更改默认表、字段别名关键字As 为 空格
2. 增加自定义表、字段别名关键字,在不同数据库中兼容

# 1.1.1 版本

1. 修复在添加逻辑删除的时候SQL报错问题
2. 返回类型支持Map类型
3. 增加主表和子表自定义别名,方便多个相同子表对应一个主表

   这次更新解决了目前使用的一些特殊场景下的缺陷问题,使用的更灵活了

# 1.1.2 版本

1. 修复逻辑删除没有加别名的问题
2. 修复多个连表情况下,只查询主表的逻辑删除的问题
3. 修复在定义typeHandler不生效的问题

   这次更新主要是修复的bug版本,目前作者没有什么特别多的思路去要写什么样的新功能,如果各位有可以提出来

# 1.1.3 版本

1. 更改逻辑删除出现的条件为join后,而不是where后
2. Merge pull request !2 from f_ms/N/A
3. Merge pull request !1 from f_ms/N/A

   这次更新主要是修复的bug版本,目前作者没有什么特别多的思路去要写什么样的新功能,如果各位有可以提出来

# 1.1.4 版本

1. 修复逻辑删除值错误的bug  **gitee issues-I5UY2K** 
2. typeHandler 增加子表支持  **gitee issues-I5SUV6**
3. 修复 在调用 and()方法的情况下,设置的表别名失效的问题
4. orderBy 排序增加顺序下标,可根据下标来调整对应的排序顺序
5. 增加 orderBySql 方法,可以手写排序SQL
6. selectAs 自定义查询字段方法增加重载参数 boolean isQuotes,来标识是否需要是字符,可以用这种方式写一些简单的函数
7. 增加distinct函数方法
8. 优化了代码结构

# 1.1.5 版本

1. MybatisPlusJoinConfig增加isUseMsCache方法,代表使用不使用MappedStatement的缓存,如果为true,就会更改他的id如果是使用mate的某些插件特效出现classNotFoud,因为更改了MappedStatement Id报错,可以尝试把这个改成false,就不会更改id内容
2. 增加方法JoinLambdaWrapper#changeQueryWrapper 转换查询条件

# 1.1.6版本

1. 修复一对一,多对多的情况下主表和字表字段名字重复,出现赋值错误的情况
2. 修复getTableFieldInfoByFieldName 获取不到tableInfo的情况下会报错的问题

# 1.3.1版本

单纯的升级个版本跨过1.2.0

# 1.3.2版本

1. selectAs(cb -> {cb.add()})方式,自动增加表前缀,在一对一,多对多的场景下,相同字段名可以无需写别名即可映射
2. 修复gitee /issues/I64AZ0 分页参数传递的问题
3. 增加selectAs(SFunction<T, ?> column, SFunction<J, ?> alias) 和  selectAs#addFunAlias 支持用函数来表示别名

   (不建议使用,建议使用最新版)

# 1.3.2.1版本

该版本主要是修复1.3.2的版本bug

1.  selectAs(SFunction<T, ?> column, SFunction<J, ?> alias) 和  selectAs#addFunAlias 方法,生成的别名和属性名没有对应报错的bug

# 1.3.3 版本(重大更新)

1.  增加@JoinField 注解,定义映射关系,可在wrapper中用push**Join方法加入,即可查询并映射
2.  条件构造器增加基础join查询四件套可以用wrapper直接进行查询 
3.  manyToManySelect和oneToOneSelect 增加可以不指定查询列,查询全部列并映射
4.  修复 JoinLambdaWrapper 和 JoinWrapper的  select(Class<T> entityClass, Predicate<TableFieldInfo> predicate) 没有加别名的问题修复
5.  增加接口 JoinCompareFun,eq、ne..可以传入别的表的函数,实现两个表字段关联

# 1.3.3.1 版本

支持了mybatis-plus 3.5.3版本往后

# 1.3.4 版本

1.  主表可使用masterLogicDelete方法配置是否开启逻辑删除
2.  查询字段增加子查询 selectSunQuery方法
3.  joinAnd 增加条件构造器,可以自由构造多条件join and
4.  项目异常更改为mpj异常
5.  合并 pr https://gitee.com/mhb0409/mybatis-plus-join/pulls/3

# 1.3.4 版本

1.  主表可使用masterLogicDelete方法配置是否开启逻辑删除
2.  查询字段增加子查询 selectSunQuery方法
3.  joinAnd 增加条件构造器,可以自由构造多条件join and
4.  项目异常更改为mpj异常
5.  合并 pr https://gitee.com/mhb0409/mybatis-plus-join/pulls/3

# 1.3.4.1 版本(兼容老版本)

兼容 3.3.2 - 3.4.2 mp版本

# 1.3.5 版本

1.对 aKeys这种首字母小写第二个字母大写的命名方法兼容
2.可以表自连接
3.优化查询vo中字段不存在,就不映射该字段(就那个 获取【xxx】中的属性【xxx"】失败,请检查返回对象中是否存在!,后续版本就没有这个异常了)
4.RelevancyType.ONT_TO_ONE更改错别字,为RelevancyType.ONE_TO_ONE
5.合并 pr https://gitee.com/mhb0409/mybatis-plus-join/pulls/5

# 1.3.5.1 版本

1.修复表自连接的情况下,on后的别名错误的问题(建议1.3.5版本升级该版本)

# 1.3.6 版本

1.fix https://gitee.com/mhb0409/mybatis-plus-join/issues/I7MQU3
2.fix https://gitee.com/mhb0409/mybatis-plus-join/issues/I7LN0A
3.fix https://gitee.com/mhb0409/mybatis-plus-join/issues/I7LN02

# 1.3.7 版本

1.支持多个查询select查询方式
2.JoinServiceImpl 增加无参实例化JoinLambdaWrapper
3.构建resultMap的时候根据Vo的返回字段来构造,避免查询有字段,vo没有字段引起的报错
4.增加joinList、joinGetOne、joinPage 方法不需要指定class的默认查询当前泛型类
5.selectSunQuery 支持多个查询参数,如果多个查询参数会输出多个子查询

# 1.3.8 版本

1.修改changeQueryWrapper在新版本 多循环嵌套 and的时候出现的bug
2.changeQueryWrapper 可在子表使用

# 2.0.2 版本

1.增加apt机制,自动生成chain类
2.增加JoinChainQueryWrapper 构造器用户链式调用,拥有String和lambda的优点
3.优化架构
4.适配Springboot3 自动注入
5.JoinDefaultSqlInjector 自动注入
6.修复拦截器可能出现的重复addResultMap 报错的问题

# 2.0.4 版本

1.changQueryWrapper 针对于为空的条件,判断不加入
2.apt生成类,排除静态类和transient,以及和父类字段

# 2.0.7 版本

1.增加了addObjConditions方法,可以配合注解添加对象条件,使用更方便
2.增加了 @Eq、@Ne、@In...等注解
3.修改了JoinChainModelProcessor的源代码版本支持和日志输出。
4.优化了很多底层方法
5.leftJoin、rightJoin、innerJoin 增加可传入一个JoinLambdaModel的 实体类,可以实现join的复用啦
6. 增加xxIfNull的方法

# 2.0.8 版本

1. 修复Vals.of() 的时候,传入List类型没有被正确识别的问题
2. 增加Between注解

# 2.0.9 版本

1. 版本升级到 2.0.9
2. 增加 @OrderBy 注解,定义在类上可进行排序构造
3. 配置方式更新,更改为Spring boot 配置文件配置
4. 配置增加 isSubTableLogic 全局是否开启子表的逻辑删除 默认开启,关闭后则不会拼接逻辑删除
5. 配置增加 defTableAlias 定义全局 默认表别名映射
6. 配置增加 defTableAliasType 定义全局默认表别名生成方式

# 2.1.0 版本

1. 增加 JoinStrQueryWrapper 字符串类型Join构造器,提供基于字符串字段名的Join查询功能
2. 增加智能别名机制,在join匿名函数中自动为字段添加关联表别名,简化代码编写
3. JoinStrQueryWrapper 支持完整的Join操作(LEFT JOIN、RIGHT JOIN、INNER JOIN)
4. 增加 toLambda() 和 toStr() 方法,支持字符串构造器与Lambda构造器的相互转换
5. JoinStrQueryWrapper 支持所有常见查询条件和字段别名功能
6. 优化str包结构,增加专门的函数接口支持字符串类型查询构造

# 其他版

# 1.2.0 版本

1.支持了3.2.0 版本