跨数据类型重构类似代码

时间:2010-10-18 21:52:04

标签: java generics refactoring

我在Java中工作,将某些类型的HashMaps中的数据插入到SQL数据库中。它产生了一些这样的代码:

for ( String key : strings.keySet() ) {
    result_set.updateString(key, strings.get(key));
}

for ( String key : booleans.keySet() ) {
    result_set.updateBoolean(key, booleans.get(key));
}

for ( String key : dates.keySet() ) {
    result_set.updateDate(key, dates.get(key));
}

我已经习惯了Ruby,这样的代码占用了一行,我不敢相信我必须在Java中这样做。我一定是错的。有没有更好的办法?我假设使用泛型?我尝试使用result_set.updateObject(key,object),但它给了我“SQLException:无法在java.util.Date和VARCHAR之间进行转换。”

1 个答案:

答案 0 :(得分:1)

查看MyBatis,一个处理POJO(包括地图和列表)和SQL之间映射的SQL Mapper。相对于在原始JDBC中完成所有操作所需的工作,它为我们节省了大量工作。