V1.0.1.R2014022701 1)版本创建、整理 2)版本内部发布测试 3)版本内部测试完成,发布 V1.0.3.R2014060101 1)20140521修改"初始化DBO和STMT失败",改成"初始化DBO和SQL失败" 2)20140521增加FREL对表是否存在进行检查,如果不存在则创建加入缓存,下次认为存在 3)20140527增加Updater时对表达式的支持如updater.addFieldExpression("buyNum", "buyNum+1");表示在原值上加1 4)20140601修改FDBOExecutor.create中对replace表的BUG。原没有作replaceMap处理 V1.0.5.R2014081201 1)fadfox.jar增加JSON功能和HTTPC功能,涉及到ORM要求调整 2)对返回的ArrayList数据,作timeToSize()处理,优化内存 3)修改ORMServer中对多例配置的错误 V1.0.6.R2015011201 1)调整StringBuffer成StringBuilder 2)修改TransactionManager.beginTransaction()方法为获取第一个ORMServer,以前有BUG,并增加通过index和name获取ORMServer 3)修改FDBOExecutor中FDBO["+dbo.getName()+"]配置中未找到["+field.getField()+"]字段,的描述,原来的表达不正确 4)fadfox.jar调整DateTimes类方法,有影响,要求版本在V1.0.6R2015011201以上 V1.0.7.R2015052501 1)拆分FDataSource中getConnection时同步锁connList为两步,防止锁太大带来死锁 2)支持连接耗尽时,配置等待时长和重试次数,系统默认是5秒和1次 3)修改等待时长打印日志的错误 4)fadfox.jar修改了queryEndsWithFile方法 V1.1.0.R2015072901 1)根据fadfox整理成统一该版本 V1.1.1.R2015091401版本: 1)使用JDK1.7编译,增加ORMServer加载.xml时文件时否存在检查 V1.1.2.R2015102601 1)要求使用V1.1.2版本的fadfox.jar 2)修改FDbo为FTable,后期进行调整 3)修改for调用方式,合并Documents到Xmlx中 V1.1.3.R2016020301 1)春节前整理版本号 2)根据FTimer改动修改的版本 V1.2.0.R2016072101 1)调整FSQL配置,删除原来的,改成content,更简单且更好理解 2)调整FSQL实现,对配置中删除的param和result两个配置,改成通过实时传入验证 3)调整FDBO成FTable,类似于表,更好记和理解 4)调整FREHL成FView,类似于视图,更好记和理解 5)调整Selector和Updater中的addWhere成addMaybe,表示如果且为null就不作为条件,与addMust必须不能为空,更好理解。 6)修改原throw new IlleglParameterException为throw Asserts.exception()和Asserts.asserts() V1.2.1.R2016100801 1)增加对SQLite的支持,删除对Access的支持 2)修改SQL文件加载方式,以前是在classpath逐个查找,可能会碰到类或jar不允许加载,修改为通过orm.sql进行配置,配置支持file,folder,classpath,package四种 3)增加policy接口,以便支持6种数据库的适配 V1.2.2.R2017010101 1)配合fadfox.jar调整HashMap为FHashMapSO 2)增加FTabler对非持久化表(运行时增加的表)处理 3)增加FSQLer对DDL语句的处理,如修改表名,修改列名,修改列类型,增删列 V1.3.0.R2017022701 1)增加insertOrUpdate方法,是mysql特有的根据条件指定更新一些字段,而replace是更新所有字段 2)增加list读取指定位置的数据,支持pageNo和pageSize两个参数 3)增加对selector和updater的字段值和数据库要求进行强制检查,不一致不允许操作 4)增加对自连表、多表关联的视图时的别名的支持 5)修改判断字段的值是否合法,增加允许为null时传入null值 V1.3.1.R2017052801 1)修改Asserts.asserts为Asserts.as()方法,使用三目运算断言,防止断言为真时需要初始化无意义的断言失败字符串 2)增加ORMI18n类,实现国际化字符串静态字符串展示,当前用于断言失败字符串 3)增加select @@IDENTITY的处理方法Global.get(FSQL.class).identityInt()和identityLong()获取事务线程中的自增ID 4)修改isValidSelector和isValidUpdater方法,显示错误的字段信息 5)修复SQL中转义字符组装SQL时的BUG 6)修改连接池中,获取连接时,先检查是否活动中,活动中的连接优先跳过,以前是先判断是否有效,可能导致最后一次有效时被删除。 V1.3.2.R2017080501 1)修改boolean型的判断方法,如isTest字段,设置方法为void setTest(boolean isTest),判断方法为boolean isTest() 2)增加not like的支持,并修改方法中value值为Object,方便传入整型和长整型 3)增加orm.cache缓存表类的配置和实现,注意count/sum方法还是直接查数据库,item/list/page查缓存,insert/insertBatch/replace/update/delete更新缓存 4)增加FSQL.execute方法对SQLite数据时修改truncate为delete from V1.3.3.R2017110601 1)增加selector表达式条件 2)增加selector左右联left join,right jon支持增加条件selector.addJoin(FDbo.class, new Selector("field", value)); 3)修改原HashMap为FHashMapSO V1.4.0.R2018010101 1)正式启用ZhiqimORM名称,原所有Fadfox改为Zhiqim,原所有fadfox改为zhiqim,原所有FADFOX改为ZHIQIM,原com.zhiqim.fadfox改为org.zhiqim.kernel 2)修改包结构,整理F前缀,更改ZSQLer为ZDDL 3)增加MySQL启动时对wait_timeout的检查,要求大于配置的3分钟 4)增加ZDDL.toColumnType(String fieldType, String fieldLength) 5)增加对SQLite的主键修改的独立处理功能 6)修改当服务关闭时没有从Global移除ZTable等实例的BUG 7)Class.forName修改成Classes.forName,防止ClassLoader不准确 V1.4.1.R2018072501 1)优化配置中当maxIdleTime未配置时取maxKeepTime 2)修改表缓存,支持@AnAlias别名作为key,增加表缓存定时刷新缓存,格式采用scheduler的格式 3)优化表缓存,修改排序不准确的BUG V1.5.0.R2019010101 1)修改工程名为zhiqim_orm,使用zhiqim_kernel_v1.5.0_r2019010101库 2)增加IsEmpty和IsNotEmpty条件,由于MySQL中null和空字符串''不相等 3)增加存储过程的ZSQL支持,通过CallParam和CallResult传参和读取多结果,结果支持MAP和DBO 4)修复ORMServer关闭时没有把testConnnectioner关闭的的BUG 5)修复ZTabler未实现多例模式的BUG(导致多数据库配置失败) 6)根据zhiqim_kernel修改继承自Tasker到实现Task,Every/Timer修改为Interval,修改为Threadx的处理方式 7)执行程序和源码分开打包