更新日志
1.1.8
- Mongodb
- 支持配置用户名密码
- 升级mongodb默认驱动
- 支持单副本事务
- 支持queryTable 创建视图
- 更新对视图字段支持
1.1.7
升级 mhdt 至 1.6.8
修复Spring扩展,版本号打印缺失或错误显示
Mongodb
- 修复批量修改Beans异常
- querylist#list方法,当返回集合只有一个元素且为null,返回值由 [null] 修改为 [ ]
- 修复 sort(Sorts.DESC, "id") 字段名为id自动转换为_id
- 支持条件查询 isExists & isNotExists 筛选字段在文档中是否存在
- 支持 setFields
对象.属性
- 支持配置用户名密码
- 升级mongodb默认驱动
- 支持单副本事务
- 支持queryTable 创建视图
- 更新对视图字段支持
SQL
- 新增 Unabo.openSession 静态方法封装手动事务,支持多数据源
TIP
Tip: Spring事务不支持多数据源同时回滚,这个时候手动事务是更好的选择)
1.1.6
- 更新对SqlServer,达梦的支持
- 修复 online.sanen.unabo.nosql.Behavior 相关操作bug.
- 修复 SimpleCondition强转类型导致的类身份证(长整数)查询异常.
- SQL
- 修复某些情况下 Table 注解中指定 schema 不生效的问题
- 修复createSQL后跟addCondition,SQL插入位置不对
- Mongodb
- schema和tableName将不再通过 GetSchemaAndTableNamePipeline (废弃) 获取
- Between查询逻辑「大于等于 && 小于」 修改为 「大于等于 && 小于等于」
1.1.5
- 修改 DatasouceType 类名为 DatasourceType
- SimpleCondition新增valueCastType(boolean flag) 设置value值是否自动强转
1.1.4
- 修复 queryTable#setExceptFields 设置不对
- 修复 Mongodb queryMap#insert 字段乱序
- createTable兼容LocalDateTime类型
- C.not_in 支持英文逗号分割字符串,如: 苹果,梨子,香蕉
- 条件值自动类型转换,如: age>'10' 将自动转为 age>10
- 修复别名设置不当,如空字符串,导致的字段名异常
1.1.3
- 移除
uniqueOption
相关方法 - 统一
unique
返回值为Optional<T>
- 新增
C.parseConditionsFromJSON(String json)
解析json
字符串为Condition
数组 - 新增
Condition
#boolean isEnable()
方法,只有启用的条件才会参与过滤,默认值true
- 新增
Cs.in
支持字符串1,2,3 或 张三,李四,王五
,默认 value 值为数组 - 修复
queryTable
查询结果与指定字段顺序不一致 - 优化 mongodb 查询速度与字段顺序问题
- 新增Cs枚举,用于在条件中字段比较,cc后缀代表 column compare 。
- 新增项有:
GT_CC, GT_EQUALS_CC,LT_CC,LT_EQUALS_CC,EQUALS_CC,NO_EQUALS_CC,BETWEEN_CC,NOT_BETWEEN_CC
1.1.2
- 修复SQL打印
1.1.1
- 支持 Springboot3
1.1.0
- #sort方法分开排序
- #getTableNames() By oracle 获取所有表而不再是用户下的表
- 修复#count(String tableName)方法在表名为 "schema.tableName" 时的异常
- Condition支持函数,
C.gt("name",2,"length(%s)")
,字符串插值项作为填充字段 - 修复长期使用下TheadLocal缓存可能导致的内存泄露
- 丰富dataInfomation接口获取数据源信息
1.0.9
- Sql.queryTable
- sort 生成sql附带表名,如
order by tableName.id desc
- sort 生成sql附带表名,如
- online.sanen.unabo.api.structure.Column
#getClsByDataType
更名为javaClassByDataType
- 自动添加
HikariCP
和dbcp2
连接池依赖
1.0.8
- Mongodb
- 修复 批量修改无效
- 修复 流查询映射异常
- 重写 日志输出,解决stream输出异常,(重写带来的弊端:内部command也会输出到控制台)
- getTableNames 因为视图不支持mapreduce,对 “视图” 取所有数据字段并集
- 修复 isShowLog 未生效
- 新增 bootstrap接口lastCommand()方法返回上一次执行的命令
- Sql.stream
- 提升速度
- 支持别名
- 提供rowProcess接口避免在大数据下重复迭代
- querySQL
- 支持alias别名化
1.0.7
- mhdt 依赖升级1.6.0
- Mongodb
- 修复 limit 方法入参长度为1时的异常
- 修复将id设置为 ExceptField但查询结果未受影响
- MongoDBTemplate 完善 Todo方法 getColumns
- getTableNames 排除 .chunks和 .files后缀
- QueryTable 接口新增 createView
- PostgreSQL
- getTableNames方法返回的表名将带上表空间,如:test.user ,如没有携带schema默认值为public
- Spring
- 配置
- enabled 更名为 enable
- 新增 show-version 是否打印版本信息
- 配置
1.0.6
连接池工厂
- duid 连接池默认设置 druidDataSource.setMaxOpenPreparedStatements(0);
Mongodb
- unique方法因Optional使用不当导致的空指针异常
- 修改默认连接超时为3秒
Api
- QueryMap 接口支持addCondition
- 兼容 Springboot 3.X
- Bootstrap 继承 java.lang.AutoCloseable 接口达到自动释放资源的目的, 示例:
try(Bootstrap bootstrap = 创建实例代码){ }
也可手动释放资源
bootstrap.close()
1.0.5-Release
- Sql
- createSQL 自动去除 “空格,缩进,换行符” 以减少对addCondition的干扰
- 修复 between 不支持数值
- Sql.Blob类型 统一返回Inputstream
- Mongodb
- 查询结果将变为有序的或依据 setFields 字段排序
- 新增聚合操作接口Aggregate (优先实现mongodb)
1.0.5.1
- 修复 sql注入导致的查询时间异常
1.0.4
- Api
- 修复 条件 "in,not in" 无法正常查询
- 新增
SimpleCondition.isEffective
检测条件有效性 - 支持 达梦数据库
- Sql
- 修复 C.contains 存在sql注入
- 修复 C.in、C.notIn 存在sql注入
- Mongodb
- 获取全表字段不统一(原因是取第一条数据,现改为取全表)
- 修复 list(Class<?> entityClass) 返回结果依然是Map类型
- QueryTable.dropColumn 删除表字段
- 在同时指定“字段”和”别名“时,查询结果会被别名覆盖
- 支持between条件
1.0.3
- Api
- 不再依赖默认的数据库【连接池】和【驱动】,需要自行在项目中手动添加依赖并指定版本(因为发现有依赖和java版本挂钩的情况,如: hikaricp 5.x是依赖java11)
- 多数据源连接异常不会导致程序崩溃
- Mongodb
- 支持mongodb 新增online.sanen.unabo.extend.nosql包,并在当前版本基础上持续更新
- Sql
- unique方法注解为deprecated,查询返回null为程序埋下隐患,此方法将在未来版本中删除 (用uniqueOptional替代);
- 删除一些无用的重载 如:update(String primaryKey)
- Spring
- 配置项
- 修改 instances 改为 sql-instances
- 新增 nosql-instances 来区分 “非关系型" 数据库连接
- 注解
- 解决 @Autowired 在多数据源在下依据 [beanName] 注入错乱
- 配置项
1.0.2
- Spring
- 配置
- 扩展升级为可配置多数据源
- 配置
- Sql
- 优化mysql批量操作
- 升级依赖版本包括最新的sqlite(3.36.0.2)
1.0.1-Release
- Spring
- 配置
- 更改配置事务工厂方法名 configuration.setTransactionFactory(TransactionFactoryEnum.JdbcTransactionFactory);
- 配置
- 修复因为表字段缓存导致的bug;
1.0.0-PRE
- 由原项目Cdm(Common datasource manager)迁移到Unabo