发布清单
升级文档
一、动态新增修改
执行save 或者update 或者 saveOrUpdate 时候,如果对象的属性值为null 则不要出现在Insert into 、update 的字段列表中。
例如: 调用 baseService.save(baseItem);
BaseItem baseItem = new BaseItem();
baseItem.setItemName(“我是商品”);
baseItem.setItemCode(“我是编码”);
baseItem.setItemColor(null);
baseService.save(baseItem);
此时执行的SQL 语句如下:
Insert into BAS_ITEM (BAS_ITEM_ID,ITEM_NAME,ITEM_CODE) values(‘主键值’,‘我是商品’,‘我是编码’); 因为 itemColor 值为 null 则 不会出现在SQL语句中。
配置方式:
在application.properties中加入配置项:
app.dao.dynamicInsertAndUpdate = true
二、云平台Redis缓存配置修改统一单机和集群的配置方式.
需要需要注意如果redis有设置了密码,需要修改 app.redis.password这个属性配置上对应的密码值。
application.properties配置项目如下:
在application.properties 中:主要在配置项 app.redis.hostAndPort 内容中包含
IP:端口.如果集群则用,分开配置多个。
单机版本配置:
#redis config
app.redis.hostAndPort = 172.16.10.120:6379
app.redis.timeout = 200000
app.redis.password =
app.reids.maxIdle=100
app.reids.maxTotal=200
app.reids.minIdle=8
app.reids.maxWaitMillis=100000
#cluster usering
app.redis.soTimeout=2000
app.redis.failTimes=5
集群配置:
#redis config
app.redis.hostAndPort = 172.16.10.120:6379,172.16.10.120:6378
app.redis.timeout = 200000
app.redis.password =
app.reids.maxIdle=100
app.reids.maxTotal=200
app.reids.minIdle=8
app.reids.maxWaitMillis=100000
#cluster usering
app.redis.soTimeout=2000
app.redis.failTimes=5
云平台旧版的配置,单机和集群的redis需要修改xml配置application-cache.xml中指定需要引入 spring-kvstore.xml 还是 spring-kvstore-cluster.xml,新版本的云平台不再需要 spring-kvstore.xml、spring-kvstore-cluster.xml两个文件,只需要spring-kvstore.xml。具体的spring-kvstore.xml 如下
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:util=”http://www.springframework.org/schema/util”
xmlns:aop=”http://www.springframework.org/schema/aop” xmlns:cache=”http://www.springframework.org/schema/cache”
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd”>
<bean id=”jedisPoolConfig” class=”org.apache.commons.pool2.impl.GenericObjectPoolConfig”>
<property name=”maxIdle” value=”${app.reids.maxIdle:100}”/>
<property name=”maxTotal” value=”${app.reids.maxTotal:200}”/>
<property name=”minIdle” value=”${app.reids.minIdle:8}”/>
<property name=”maxWaitMillis” value=”${app.reids.maxWaitMillis:100000}”/>
<property name=”testOnBorrow” value=”${app.reids.testOnBorrow:true}”/>
<property name=”testOnReturn” value=”${app.reids.testOnReturn:true}”/>
</bean>
<bean id=”cacheBuilder” class=”com.gillion.cache.kvstore.CacheBuilderFactory”>
<property name=”ehCache” ref=”ehCache”/>
<property name=”genericObjectPoolConfig” ref=”jedisPoolConfig”/>
<property name=”hostAndPort” value=”${app.redis.hostAndPort}”/>
<property name=”password” value=”${app.redis.password}”/>
<property name=”timeout” value=”${app.redis.timeout:2000}”/>
<property name=”soTimeout” value=”${app.redis.soTimeout:2000}”/>
<property name=”failTimes” value=”${app.redis.failTimes:5}”/>
</bean>
<!–单号生成 使用到的同步锁 缓存实现
<bean id=”lockCache” class=”com.gillion.platform.bizrule.core.service.impl.RedisCache”/>
–>
</beans>
项目组可以自己决定是否修改为新版本的配置模式,如果不修改则使用旧版本的配置文件覆盖;如果要使用新版本的配置方式则覆盖新版本的配置文件,然后修改application.properties中对于的配置项[参考1中的配置]
附:最小升级包中会包含2种配置文件。需要项目组自己手工拷贝覆盖.注意如果是使用旧版的配置方式则需要注意 application-cache.xml中有差异需要人工合并下,可能项目组使用集群的redis则需要手工注释掉spring-kvstore.xml的引入,打开spring-kvstore-cluster.xml的引入.
三、云平台导出功能自动化生成POI和生成导出模板文件
说明:
1. 业务对象创建时,自动生成按表格列布局的导出方法;
表格支持两种导出:
第一种是按excel导出模板里有那些列字段,导出时就按模板列导出数据
方法默认为名为:export+[“业务对象”]+Data
第二种是按表格列顺序导出,表格有些列,导出时按表格列数据导出.
方法类型为:表格页面数据导出(本次升级新增一条默认方法)
2. 业务对象增加【生成导出模板】复选框;
- 提交业务对象时,如果可视化界面包含导出按钮(按后台模板的导出按钮或者按表格布局的导出按钮中任何一个),则检查该业务对象是否存在导出POI配置,并执行第4步;否则不做额外处理。
- 如果该业务对象不存在导出POI配置,则自动生成该业务对象导出POI配置并提交,并自动勾选【生成导出模板】复选框。
- 业务对象生成代码时,如果该业务对象勾选【生成导出模板】复选框,则根据导出POI配置的路径生成导出EXCEL模板,导出EXCEL模板包含所有属性列,有配置数据字典的属性自动代码转换为名称;
6.同时具有业务对象POI数据且业务对象勾选【生成导出模板】复选框才会生成导出模板.
7.生成出来的导出模板可以进一步进行调整.
注意:如果第6点符合要求每次都会生成模板,每次都会覆盖本地模板,如果已生成第一次模板第二次不想再生成可以把务对象勾选【生成导出模板】复选框打勾去除
Excel默认生成的导出模板是按以下规则生成字段模板如下:
NUM和LONGINT(小数位由属性字段小数位判断生成几位)
Eg: #!forbidenInbDays{“type”: “number”, “format”:”#,##0.00″}
DYMS(日期-年月(字符串)
Eg:#!testTime{“type”:”date”,”format”: “yyyy-MM”}
DATS日期(字符串)和DATE日期型
Eg:#!testTime{“type”: “date”,”format”: “yyyy-MM-dd”}。
DTMS时间(字符串)和DETE日期时间型
Eg:#!testTime{“type”: “date”, “format”: “yyyy-MM-dd hh:mm:ss”}
如上都不符合且属性有配置了数据字典生成如下
Eg:#!itemColor{“dictionary”: “Color”}
如上都不符合则生成最基本模板格式
Eg:#!itemColor