- Db 注解增加作用范围(增加参数注入)
- IPage 调整为可序列化
- 调整 IPage 接口,增加页数与页长
- 增加 beginEq,beginNeq... 系列操作函数
- 增加 MgTableQuery::selectCursor 接口
- 优化 trim 指令:当为空时不添加前后缀
- 执行异常时,仍可以触发 onExecuteAft
- 修复 param 和 declare 失效的问题
- 升级 redisx 1.4.1
- 修复 cmd.toSqlString(),当最后为 ? 时,会差一个值的问题
- 缓存 当时间为0时,增加默认时间的处理
- 修复 call("@xxx", args) 参数不生效的问题
- 数据模型,排除 transient 字段
- 增加 IPage page = db.table("user").selectPage("*", User.class); 接口
- 增加 实体接收时,支持 数字型转 LocalDataTime
- 增加对 kotlin data class 和 jdk14+ record 的支持
- 增加 tb.updateBy() 接口
- 修复 cmd.toSqlString() 在批处理时,会出错的问题
- 增加 IPage 分页查询
- 增加 SqlTypeDesc 类型,做为类型描述
- 增加 clickhouse 数据库支持
- xmlsql 不再对 " 做转码
- 独立 DbContextMetaData,并调整相关接口
- 将批量插入改为 jdbc 模式(之前为拼sql模式)
- 为 selectCount 自动加上 count(?)
- 去掉 StringBuilder 的缓存
- 增加批量jdbc执行的能力
- 增加批量jdbc更新的能力
- 增加 WeedConfig.isSelectItemEmptyAsNull 配置项
- 修复 MapperBase update(item, bool, wq) 数据没进去的 bug
- 条件器的 Iterable 改为 Iterable 类型
- 增加新接口 db.mapperBase(clz,tableName);
- 取消旧的事务代码
- MgContext 增加 autoclose 接口
- 增加统一的 Trans 事务管理器
- 添加 db.table().where().limit().delete() //delete 的 limit 支持
- 修改 xml sql [if test(xxx?! and yyy?!)](多个?!会出错的问题)
- 添加 HBase sql(Phoenix)方言支持
- 改造事务机制;原事务方法标为弃用(之前已将事务,改造为数据源无关)
- 完成maven插件的,entity生成器
- 取消模板引擎支持,专做xml sql
- WeedConfig 增加命名策略配置支持
- WeedConfig 增加字段类型转换器配置支持
- 增加数字类型的自由转换;
- 增加字符串转Date的自动转换;
- Command::test2() 更名为 Command::toSqlString();
- 优化 call("select * from a where id=@{a}") 性能
- 将 limit 1,2 转译为 limit ?,?
- DataItem 支持乎略大小写
- 优化返射能力,可以填充继承字段
- 修改事务的外抛异常为SQLException
- Command 增加 text2() ,用于sql 格式化输出
- 二级缓存添加缓冲时间支持
- 添加 whereMapIf(), whereEntity(), whereEntityIf()
- 统一 whereMap(),whereEntity(), setMap(), setEntity() 内部逻辑;将null排除
- 原weed3.reader包,更名为;weed3.teamplate
- 调整项目目录结构,将非核心框架移到 _extend
- cmd.paramMap() 添加var name 输出(如果有)
- 添加 db.call(process, args) 并支持模板SQL
- 添加模板SQL功能;添加4个引擎支持
- 取消table() lambda 表达式支持(多表不好控制)
- 添加分页组件
- 添加数据库兼容测试
- 取消JSON和序列化处理(交给专业工具处理)
- 添加更多反射功能
- 添加BaseMapper
- 添加FieldWrap,ClassWrap, 重写EntityUtils
- ICacheServiceEx 添加 getBy(int,string,()->)
- DataItem取消toJson(),取消java序列化;交给专业框架处理
- 添加setIf(c,k,v)
- 添加setMapIf(m,(k,v)->bool),setEntityIf(m,(k,v)->bool);
- 添加setIf(..),whereIf(..),andIf(..),orIf(..)
-
为缓存服务组件开发提供支持
修改 ICacheServiceEx 的 tag 相关操作,改为默认实现 添加 ISerializer 接口,定义统一的缓存序列化接口 添加 EncryptUtils 提供加密接口,用于维短key的长度
-
增加 weed3.cache.* 相关项目,提供包装好的缓存扩展
- 完善 xm mapper 功能
- xml mapper 添加 jar 包运行支持
- DbAccess 添加 update(), delete(); //本质是执行:execute()
- 添加whereEq(),whereLt(),whereLte(),whereGt(),whereGte(),whereLk() 添加andEq(),andLt(),andLte(),andGt(),andGte(),andLk() 添加orEq(),orLt(),orLte(),orGt(),orGte(),orLk()
- xml mapper 添加 trim 指令
- 添加xml mapper 代码生成器(meven plugin)
- 添加xml mapper 支持
- set(),table("aaa","aaa a", "aaa as a"),join(like table()),select("a,b b,c as c,SUM(d)"),orderBy("a ASC,B,a.a"),groupBy("a.a") 添加关键字处理
- DbContext构造函数,取消fieldFormat参数
- DbTableQueryBase,添加append()无限制添加代码
- 添加objectFormat机制(用于格式化对象)
- 添加db.exec()接口
- 将包名:noear.weed 改为:org.noear.weed
- List<Map<String,Object>> getMapList()
- Map<String,Object> getMap()
- DataList添加getMapList() -> list
- 添加更新无条件时抛异常(可以改掉配置)
- 添加tb.usingNull(true)接口 //默认为false
- DbProcedure: 添加 setMap(map), setEntity(obj)
- DataItem: 添加 fromEntity(obj), toEntity(cls) 改名 setData->setMap, getData->getMap
- DbTableQuery: 添加 setMap(map), setEntity(obj)
- DataList: 添加 toEntityList(cls)
- IQuery: 添加 getList(cls), getItem(cls) //多态
- 彻底解决@key相互包含的问题
- @key 能数添加List类型支持
- cmd.isLog 改为 int 型(def:0 no:-1 yes:1)
- 添加性能计数
- 所有执行对象都添加log(bool)
- DataItem 增加 Iterable 接口
- DataList 增加 Iterable 接口
- DbTableQueryBase
- DbTableQueryBase 添加控制接口(可实现更自由的条件控制)
- DataItem 添加序列化接口
- 添加 updateExt(...) //即添加也更新
- 添加 where(),and(),or() 空参数接口
- DataItem::修复 toJson 对 Date 的处理
- Variate::修改.添加 stringValue();
- DataItem::修改.添加 unserialize(..),serialize()
- DbContext::修改.添加 fieldFormat(...)
- DbTableQueryBase::修改.添加缓存控制接口::
- DbTableQueryBase::修改.添加rightJoin(...)
- DbContxt::修改.添加 tranQueue(...);
- 增加对$表达式的验证和过滤
- WeedConfig::修改.添加 isUsingValueExpression //是否开启$表达式支持(默认开启)
- DbTableQueryBase::修改.添加 usingExpr(...) //当前操作是否开启$表达式支持(默认为 isUsingValueExpression)
- DbContxt::修改.添加 isCompilationMode (编译模式;) /* DbContxt db = new DbContxt(...); db.isCompilationMode = true; db.table(...).where(...).select(...); //不会真正的执行 db.lastCommand.text; //拿到执行的代码 */
- DataItem::修改.添加 get(index)
- DataList::修改.添加 toArray(index)
- DataItem::修改.添加 toJson()
- DataList::修改.添加 toJson()
- DbTableQueryBase::修复 .top(...) 错误
- DbTableQueryBase::修改.添加 count(...);
- WeedConfig::修改.添加 onExecuteAft
- WeedConfig::修改.添加 onExecuteBef
- SQLer::修改.添加 监听的支持(通过:onExecuteAft,onExecuteBef)
- DbAccess::修改.添加 onCommandBuilt(...); //可再次为cmd做处理
- DbTableQueryBase::修改.添加 count();
- DbTableQueryBase::修改.添加 from();
- DbTableQueryBase::修改.添加 log(...);
- DbTableQueryBase::修改.添加 updateList(); //测试
- DataItem::修改.取消 intValue2(); //同上
- DataItem::修改.取消 longValue2(); //同上
- 由 DataItem.getVariate(name) 解决问题
- Variate::修改.添加 doubleValue(def); //同上
- 使用getColumnLabel替代getColumnName获取列名
- IQuery::修改.取消 getValue(def,cacheCondition)
- IQuery::修改.添加 getVariate();
- IQuery::修改.添加 getVariate(cacheCondition);
- Variate::修改.添加 intValue(def); //支持自动将 int,long,BigDecimal 转为 int
- Variate::修改.添加 longValue(def); //同上
- DataItem::修改.添加 intValue2(); //同上
- DataItem::修改.添加 longValue2(); //同上
- DbTableQueryBase::修改.添加 insertList();
- DbTran::修改.添加 isSucceed();
- DbTranQueue::修改.添加 isSucceed();
- +exists(expr)
- ICacheServiceEx::新增 扩展 ICacheService,增加对tags的获取与操作
- EmptyCache,LocalCache 升级为:ICacheServiceEx
- DbAccess::修改.取消 tran() //不能形成控制流,没意义
- SQLBuilder::修改.添加 removeLast() (去除最后一个字符)
- DbContext::修改.添加 allowMultiQueries //是否支持多语句查询
- 添加 SQLBuilder 的示例代码
-
DbTable::修改.添加 insertList(...) (批量插入数据)
-
DbTableQuery::修改.添加 insertList(...) (批量插入数据)
-
cache/EmptyCache::新增
-
DbProcedure::新增 作为 DbStoredProcedure,DbQueryProcedure 的基类
-
DbAccess::修改{ caching()->DbAccess 改为: caching()->IQuery usingCache()->DbAccess 改为: usingCache()->IQuery cacheTag()->DbAccess 改为: cacheTag()->IQuery }
-
DbContext::修改{ call()->DbStoredProcedure 改为: call()->DbProcedure//新:根据输入情况反回:DbStoredProcedure 或 DbQueryProcedure }
-
添加java版本 demo(即:Weed3Demo)
- DbTable::修改.添加 set(k,v) 设置值
- DbTableQuery::修改.添加 set(k,v) 设置值
插入添加null值的支持(之前会过滤掉) 批量插入添加null值的支持 批量更新添加null值的支持
+begin() +begint(...) +end() -exists() //重构实现代码
+unserialize(...) +tryUnserialize(...) +serialize(...) +trySerialize(...)
+caching() +usingCache(); +usingCache(); +cacheTag();