对两个元素为HashMap的List进行处理,HashMap元素包含的是从数据库中提取出来的记录<id, amount>。那么要求将两个List中包含相同主键的HashMap合并,就是amount相加。
quartz是一个按照设定的时间规则来调度作业的调度器,比如可以设定每30s启动一个Job,但如果Job在30s内还未完成,那么quartz默认情况下还是按照设定的周期启动新的Job线程。 有这样一个应用场景,两个表结构相同的数据库A和B,A是一个实时交易的业务系统数据库,需要把A中的数据完全准实时的复制到B中。同时,交易表中存在一个时间戳字段,同步任务是每次按照这个时间戳来作增量同步的,即先在B中select max(col_timestamp)得到当前最大时间戳,再到A中获取大于该时间戳的数据集,最后再insert到B中。 在该场景下,如果前一个线程还未结束写的动作(比如一共1000条 ...
2008-01-07

Hibernate与大字段的持久化

关键字: hibernate
hibernate对于大字段的支持依赖于数据库的实现。 经常遇到这样的问题,如在oracle下如何把超过4000byte的字符串保存到数据库中,而varchar2的最大长度是4000。看了大半天hibernate对clob的支持,觉得太繁琐了,经过同事的实验,发现仅仅需要将oracle中该字段直接手工alter为clob,而在hibernate中对该字段的映射不变,直接设置为string类型,对于过去为varchar即可,长度保留为4000(似乎不限)。至于原因,应该是oracle的驱动在这方面作的很强大,自动将clob类型解析为hibernate的string。 在mysql下,只需要将 ...
2007-12-15

集群——一个相对的概念

关键字: 集群
集群——一个非绝对的概念。 初次接触集群的开发人员一般都很好奇,怎么集群这么牛比,能动态同步应用上下文(亦或称之为session复制)!但事实并非完全如此,所谓集群、负载均衡,这些都是一个相对的说法而已,它们也是通过许多策略组合在一起,以到达某种程度上的同步效果。 待续...
       PreparedStatement虽然有种种好处,最大的特点是SQL语句的数据库无关性,也就是不需要特定得指定具体数据库的SQL,比如比较Timestamp类型的字段,如果用Statement全拼SQL的话,必须得带上TIMESTAMP('YYYY-MM-DD 00:00:00.0') (DB2的) 或者TIMESTAMP('YYYY-MM-DD 00:00:00.0', 'YYYY-MM-DD hh24:mi:ssxff')(Oracle的)这些特定函数,但如果是PreparedStatement的话,就不需要指定了, ...
2007-10-12

资源回收

关键字: jdbc
    Statement在JDBC编程中常常被用到,但却常常忽略。Statement本身是一个接口,有两个实现类:PreparedStatement和CallableStatement,通过connection.createStatement()创建实例。相对于connection和resuleset资源来说,statement实例很容易被忽略而没有即时释放它。下面就是一个会导致严重后果的例子: java 代码 for (;;;) {        ...
tigers
搜索本博客
最近加入圈子
存档
最新评论