sql >> データベース >  >> RDS >> Mysql

SpringMySQLとRowCallbackHandlerを使用して大規模なデータセットを管理する方法

    これは、回答 BalusCによって提供されます。

    class StreamingStatementCreator implements PreparedStatementCreator {
        private final String sql;
    
        public StreamingStatementCreator(String sql) {
            this.sql = sql;
        }
    
        @Override
        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
            final PreparedStatement statement = connection.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            statement.setFetchSize(Integer.MIN_VALUE);
            return statement;
        }
    }
    

    コードのどこか:

    DataSource dataSource = ...;
    RowCallbackHandler rowHandler = ...;
    JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
    jdbcTemplate.query(new StreamingStatementCreator("SELECT * FROM huge_table"), rowHandler);
    


    1. Maven-java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

    2. そのシークで実際に何が起こっているのですか?

    3. Oracleインメモリコスト

    4. ログイン時のmysqlサーバー8.0キーリング移行エラー