Другой способ поместить в oracleDB - batchupdate

Как я могу написать это, не используя BatchUpdate и batchPreparedStatementSetter? Просто с помощью queryObject или что-то в этом роде?

@Override
public void batchUpt2(User_FK users) {
    long startTime = System.nanoTime();


    jdbcTemplate.batchUpdate("INSERT INTO INS_RAZNO.BULK_TEST VALUES (?, ?, ?)", new BatchPreparedStatementSetter() {

        @Override
        public void setValues(PreparedStatement ps, int i) throws SQLException {

            ps.setInt(1, i + 1);
            ps.setLong(2, users.getUser().get(i));
            ps.setInt(3, users.getSys());

        }
        @Override
        public int getBatchSize() {
            return users.getUser().size();
        }
    });
    long endTime = System.nanoTime();
    long duration = (endTime - startTime);
    System.out.println("-------------"+duration+"-----------------");

}

пакетная обработка, вероятно, является наиболее эффективным способом вставки списка строк в базу данных. Почему ты не хочешь его использовать?

Mureinik 17.12.2018 12:46

Для цикла и PreparedStatementSetter

voismager 17.12.2018 12:47

У меня есть задание сделать по-другому. :)

user8616404 17.12.2018 12:47
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я решил вот это, если кто хочет посмотреть ...

@Override
public void batchUpt2(User_FK users) {
    long startTime = System.nanoTime();

    jdbcTemplate.update("INSERT INTO INS_RAZNO.BULK_TEST VALUES (?, ?, ?)", new PreparedStatementSetter() {

        @Override
        public void setValues(PreparedStatement ps) throws SQLException {
            int x;
            for(x = 0; x < users.getUser().size(); ++x) {

            ps.setInt(1, x);
            ps.setLong(2, users.getUser().get(x));
            ps.setInt(3, users.getSys());

        }
        }

    });
    long endTime = System.nanoTime();
    long duration = (endTime - startTime) / 1000000;

    System.out.println("-------------"+duration+"-----------------forEach");

}

Другие вопросы по теме