Пакетное выполнение sql запросов

128
08 марта 2022, 20:00

Добрый день друзья и подруги , помогите вставить addBatch(). в данный код. Был бы рад советам по оптимизации кода )

package pozdravlenienew;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.sql.*;
import java.util.logging.*;
import com.vip.ensemble.napi.ActivateSubscription;
import java.util.Date;
import com.vip.ensemble.napi.Authenticator;
import com.vip.ensemble.napi.GetSingleBAN;
import com.vip.ensemble.napi.GetSubContractInfo;
import com.vip.ensemble.napi.GetSubscriberInfo;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class pozdr {
   // CONNECTION
   static int userId = 99996;
   static int sessionId = 0;
   static String password = "a958b3563d947eda946";
   static String wsn = "//172.28.192.13:22597";
   public static void main(String[] args) throws SecurityException, IOException, ClassNotFoundException, SQLException {
       try {
           Authenticator auth = new Authenticator();
           auth.setUSER_ID(userId);
           auth.setPASSWORD(password);
           auth.setWSNADDR(wsn);
           auth.callService();
           sessionId = auth.getSESSION_ID();
           System.out.println("C O N N E C T I O N   I S     T R U E");
           // ORACLE CONNECTION
           Class.forName("oracle.jdbc.driver.OracleDriver");
           Connection con1 = DriverManager.getConnection("jdbc:oracle:thin:@172.28.192.1:1521:TIKTAK", "DMS",
                   "UGjmd3p#dyiOJ");
           Statement statement = con1.createStatement();
           String SQL = "select  /*+ sa parallel 20 */ a.subscriber_no, c.customer_ban, m.memo_date, e.first_name, e.last_business_name, e.additional_title  \r\n"
                   + "from tjkappo.address_name_link a, tjkappo.address_data b, tjkappo.subscriber c, tjkappo.customer d, tjkappo.name_data e, tjkappo.memo m \r\n"
                   + "where a.subscriber_no is not null  \r\n"
                   + "and to_char(m.memo_date,'MM-dd') = to_char(sysdate,'MM-dd') \r\n"
                   + "and m.memo_type in ('1007','PREG')  \r\n" + "and a.expiration_date is null  \r\n"
                   + "and d.register_ind is not null  \r\n" + "and c.sub_status != 'C'  \r\n"
                   + "and a.name_id = e.name_id  \r\n" + "and a.address_id = b.address_id  \r\n"
                   + "and a.subscriber_no = c.subscriber_no  \r\n" + "and a.customer_id = c.customer_id  \r\n"
                   + "and c.customer_id = d.customer_id \r\n" + "and d.customer_id = m.memo_ban \r\n";
                   //+ "and ROWNUM <= 3 ";
           ResultSet resultset = statement.executeQuery(SQL);
           Connection con2 = DriverManager.getConnection("jdbc:postgresql://tjk-webdb01:5432/zmobile_db",
                   "zmobile_dbUser", "Kot5#OplG9");
           System.out.println("О Т П Р А В К А    Д А Н Н Ы Х");
           // >>>> ОБЬЯВЛЕНИЕ ЗНАЧЕНИЙ
           String nomer = null;
           while (resultset.next()) {
               int ban3 = resultset.getInt("customer_ban");
               DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
               LocalDateTime now_date = LocalDateTime.now();
               nomer = resultset.getString("subscriber_no");
               nomer = nomer.substring(1);
               String ban2 = resultset.getString("customer_ban");
               String name = resultset.getString("first_name");
               String surname = resultset.getString("last_business_name");
               String father_name = resultset.getString("additional_title");
               String nomer2 = resultset.getString("subscriber_no");
               String date_regist = resultset.getString("memo_date");
               String god_reg = date_regist;

                                 GetSingleBAN pre_pay = new GetSingleBAN(sessionId);
               if (name.contains("PRE_PAY")) {
                   // GetSingleBAN pre_pay = new GetSingleBAN (sessionId);
                   pre_pay.setBAN(ban3);
                   pre_pay.callService();
                   name = pre_pay.getFIRST_NAME();
                   surname = pre_pay.getLAST_BUSINESS_NAME();
                   father_name = pre_pay.getADDITIONAL_TITLE();
               }

                 GetSingleBAN type = new GetSingleBAN (sessionId);
                 type.setBAN(ban3);
                 type.callService();
               String acc_type = type.getACCOUNT_TYPE();
               int god_reg2 = 2020 - Integer.parseInt(god_reg.substring(0, 4));
               PreparedStatement ps = null;
               String pre = "ИМЯ ПРЕПЕЯ " + name + "  Фамилия ПРЕПЕЯ  " + surname + "  ОТЧЕСТВО ПРЕПЕЯ  " + father_name+ "";
               String clientinf = "БАН-АБОНЕНТА " + ban2 + " " + nomer + " " + name + "  " + surname + " "+ date_regist + " " + " что это -->" + pre + "";
                System.out.println ("КЛИЕНТ-ИФНО "+ clientinf);
                       System.out.println("ДАТА" + god_reg + " " + "CКОЛЬКО С НАМИ  " + god_reg2 + " ТИП АККАУНТА " + acc_type);
               ps = con2.prepareStatement(
                       " INSERT INTO public.regist_cong(ban , subs_key , regist_date , name , surname , father_name , how_year , time_status , acc_type ) VALUES ('"
                               + ban2 + "' ,'" + nomer + "' , '" + date_regist + "' , '" + name + "' , '" + surname
                               + "' ,'" + father_name + "' ,'" + god_reg2 + "' ,'" + now_date + "' ,'" + acc_type
                               + "' );");
               ps.execute();
           }
           con1.close();
           con2.close();
       } catch (Exception x) {
           x.printStackTrace();
           System.out.println("данные вствленные");
       }
   }
}
READ ALSO
ошибка при передаче JSON ответа в Java объект с помощью Jackson [закрыт]

ошибка при передаче JSON ответа в Java объект с помощью Jackson [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

194
JHipster microservices

JHipster microservices

Разбирасюь с JHipster

176
Движении кнопки по нажатию клавиши

Движении кнопки по нажатию клавиши

такое задание у меня:

118
Notification не отображает картинку

Notification не отображает картинку

Notification уведомление не на всех телефона подтягивает картинкуиспользую

115