日期:2014-05-19  浏览次数:20686 次

simpleJdbcTemplate批量插入数据问题
Java code


   /**
    * 查询数据
    * @param fetchSize
    * @return
    * @throws InterruptedException
    */
    public List queryData(int fetchSize) throws InterruptedException {
        long start = System.currentTimeMillis();
        System.out.print("开始查询>>>>  ");
        Map map = new HashMap();
        String sql = "SELECT * FROM (SELECT ROW_NUMBER() OVER ( ORDER BY recordid) ROWNUM, * FROM "
            + sourceTabName
            + ") CAL WHERE ROWNUM BETWEEN ( "
            + maxRows
            + " * "
            + fetchSize
            + " ) + 1 AND "
            + maxRows
            + " *("
            + fetchSize + "+1) ORDER BY recordid";
        System.out.println("sql=== "+sql);
        List list = simpleJdbcTemplate.queryForList(sql, map);
        long end = System.currentTimeMillis();
        System.out.println("查询:" + (end - start) + "ms");
        start = System.currentTimeMillis();
        return list;
    }





List list = simpleJdbcTemplate.queryForList(sql, map);
这里是一次查询出来的2000条数据 请问如何一次性插入进一张表中,
这张表有几百万数据,每次查询2000 有30多个字段 。不需要一个字段一个字段的SET ,希望通过simpleJdbcInsert.executeBatch(maps);这种方式。 请教高手。。。。。。


------解决方案--------------------
关注!帮楼主顶一下!