Advertisement
Guest User

cmentarz jdbc

a guest
Nov 5th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 22.97 KB | None | 0 0
  1. import com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.math.BigInteger;
  8. import java.sql.*;
  9. import java.sql.Date;
  10. import java.text.DateFormat;
  11. import java.text.ParseException;
  12. import java.text.SimpleDateFormat;
  13. import java.util.*;
  14. import java.util.concurrent.ThreadLocalRandom;
  15.  
  16. /**
  17.  * A Java MySQL PreparedStatement INSERT example.
  18.  * Demonstrates the use of a SQL INSERT statement against a
  19.  * MySQL database, called from a Java program, using a
  20.  * Java PreparedStatement.
  21.  *
  22.  * Created by Alvin Alexander, http://devdaily.com
  23.  */
  24. public class Insert
  25. {
  26.     static ArrayList<ArrayList<String>> arrays = new ArrayList<>(20);
  27.     static ArrayList<String> id;
  28.     static ArrayList<String> firstName;
  29.     static ArrayList<String> lastName;
  30.     static ArrayList<String> email;
  31.     static ArrayList<String> date;
  32.     static ArrayList<String> company;
  33.     static ArrayList<String> phone;
  34.     static ArrayList<String> hour;
  35.     static ArrayList<String> pesel;
  36.     static ArrayList<String> nr;
  37.     static ArrayList<String> street;
  38.     static ArrayList<String> postal;
  39.     static ArrayList<String> city;
  40.     static ArrayList<String> country;
  41.     static ArrayList<String> oplacone;
  42.     static ArrayList<String> osobaFiz;
  43.     static ArrayList<String> nip;
  44.     static ArrayList<String> cena;
  45.     static ArrayList<String> nazwaKwatery;
  46.     static ArrayList<String> nazwaFunkcji;
  47.  
  48.     public Insert() {
  49.         arrays.add(id = new ArrayList<>(500));
  50.         arrays.add(firstName = new ArrayList<>(500));
  51.         arrays.add(lastName = new ArrayList<>(500));
  52.         arrays.add(email = new ArrayList<>(500));
  53.         arrays.add(date = new ArrayList<>(500));
  54.         arrays.add(company = new ArrayList<>(500));
  55.         arrays.add(phone = new ArrayList<>(500));
  56.         arrays.add(hour = new ArrayList<>(500));
  57.         arrays.add(pesel = new ArrayList<>(500));
  58.         arrays.add(nr = new ArrayList<>(500));
  59.         arrays.add(street = new ArrayList<>(500));
  60.         arrays.add(postal = new ArrayList<>(500));
  61.         arrays.add(city = new ArrayList<>(500));
  62.         arrays.add(country = new ArrayList<>(500));
  63.         arrays.add(oplacone = new ArrayList<>(500));
  64.         arrays.add(osobaFiz = new ArrayList<>(500));
  65.         arrays.add(nip = new ArrayList<>(500));
  66.         arrays.add(cena = new ArrayList<>(500));
  67.         arrays.add(nazwaKwatery = new ArrayList<>(500));
  68.         arrays.add(nazwaFunkcji = new ArrayList<>(500));
  69.     }
  70.  
  71.     public static void main(String[] args) {
  72.  
  73.         Insert insert = new Insert();
  74.         insert.readCSV("DATA.csv");
  75.  
  76.         Scanner keyboard = new Scanner(System.in);
  77.  
  78.         System.out.println("Database name:");
  79.         String dbName = keyboard.nextLine();
  80.         System.out.println("Username:");
  81.         String userName = keyboard.nextLine();
  82.         System.out.println("Password:");
  83.         String password = keyboard.nextLine();
  84.         System.out.println("Number of rows:");
  85.         int rows = keyboard.nextInt();
  86.         System.out.println("Please wait, this may take several minutes...");
  87.  
  88.         insertIntoTable(dbName, userName, password, rows);
  89.     }
  90.  
  91.     public void readCSV(String csvFile) {
  92.  
  93.         BufferedReader br = null;
  94.         String line = "";
  95.         String cvsSplitBy = ";";
  96.  
  97.         try {
  98.  
  99.             br = new BufferedReader(new FileReader(csvFile));
  100.             while ((line = br.readLine()) != null) {
  101.  
  102.                 String[] country = line.split(cvsSplitBy);
  103.  
  104.                 for (int i = 0; i < country.length; i++) {
  105.                     arrays.get(i).add(country[i]);
  106.                 }
  107.             }
  108.  
  109.         } catch (FileNotFoundException e) {
  110.             e.printStackTrace();
  111.         } catch (IOException e) {
  112.             e.printStackTrace();
  113.         } finally {
  114.             if (br != null) {
  115.                 try {
  116.                     br.close();
  117.                 } catch (IOException e) {
  118.                     e.printStackTrace();
  119.                 }
  120.             }
  121.         }
  122.     }
  123.  
  124.     public static void insertIntoTable(String dbName, String userName, String password, int rows) {
  125.         try {
  126.             String myDriver = "com.mysql.jdbc.Driver";
  127.             String myUrl = "jdbc:mysql://localhost/"+dbName+"?autoReconnect=true&useSSL=false";
  128.             Class.forName(myDriver);
  129.             Connection conn = DriverManager.getConnection(myUrl, userName, password);
  130.  
  131.             for (int i = 0; i < rows; i++) {
  132.                 insertZakladyPogrzebowe(conn);
  133.                 insertZmarli(conn);
  134.                 insertFunkcje(conn);
  135.                 insertZleceniodawcy(conn);
  136.                 insertCenniki(conn);
  137.                 insertAdresy(conn);
  138.                 insertPogrzeby(conn);
  139.                 insertAktyZgonu(conn);
  140.                 insertPracownicy(conn);
  141.                 insertWlasciciele(conn);
  142.                 insertRodzajeKwater(conn);
  143.                 insertZlecenia(conn);
  144.                 insertKwatery(conn);
  145.                 insertZleconoNa(conn);
  146.                 insertOplaty(conn);
  147.                 insertOplacono(conn);
  148.             }
  149.  
  150.             conn.close();
  151.         }
  152.         catch (Exception e) {
  153.             System.err.println("Got an exception!");
  154.             System.err.println(e);
  155.         }
  156.     }
  157.  
  158.     public static void insertZakladyPogrzebowe(Connection conn) throws SQLException {
  159.         boolean ex = true;
  160.         BigInteger nipNr = new BigInteger(getRandomNumber(10));
  161.         BigInteger phoneNr = new BigInteger(getRandomNumber(9));
  162.         while (ex) {
  163.             try {
  164.                 ex = false;
  165.                 String query = " insert into zakladypogrzebowe(NIP, NazwaZakladu, Telefon, OsobaKontaktowaImie, OsobaKontaktowaNazwisko)"
  166.                         + " values (?, ?, ?, ?, ?)";
  167.                 PreparedStatement preparedStmt = conn.prepareStatement(query);
  168.  
  169.                 preparedStmt.setString(1, String.valueOf(nipNr));
  170.                 preparedStmt.setString(2, company.get(ThreadLocalRandom.current().nextInt(0, 500)));
  171.                 preparedStmt.setString(3, String.valueOf(phoneNr));
  172.                 preparedStmt.setString(4, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  173.                 preparedStmt.setString(5, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  174.  
  175.                 preparedStmt.execute();
  176.             }
  177.             catch (MySQLIntegrityConstraintViolationException e) {
  178.                 System.err.println(e.getMessage());
  179.                 System.err.println("dalej zakÅ‚ady");
  180.                 ex = true;
  181.                 nipNr = nipNr.add(new BigInteger("1"));
  182.  
  183.             }
  184.         }
  185.     }
  186.  
  187.     public static void insertZmarli(Connection conn) throws SQLException, ParseException {
  188.         String query = " insert into zmarli(Imie, DrugieImie, Nazwisko, NazwiskoPanienskie, DrugieNazwisko, DataUrodzenia, DataZgonu, PESEL)"
  189.  
  190.         + " values (?, ?, ?, ?, ?, ?, ?, ?)";
  191.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  192.  
  193.         DateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);
  194.  
  195.         preparedStmt.setString(1, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  196.         preparedStmt.setString(2, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  197.         preparedStmt.setString(3, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  198.         preparedStmt.setString(4, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  199.         preparedStmt.setString(5, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  200.         preparedStmt.setDate(6, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  201.         preparedStmt.setDate(7, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  202.         preparedStmt.setString(8, pesel.get(ThreadLocalRandom.current().nextInt(0, 500)));
  203.  
  204.         preparedStmt.execute();
  205.     }
  206.  
  207.     public static void insertFunkcje(Connection conn) throws SQLException {
  208.         String query = " insert into funkcje(Nazwa)"
  209.                 + " values (?)";
  210.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  211.  
  212.         preparedStmt.setString(1, nazwaFunkcji.get(ThreadLocalRandom.current().nextInt(0, 500)));
  213.  
  214.         preparedStmt.execute();
  215.     }
  216.  
  217.     public static void insertZleceniodawcy(Connection conn) throws SQLException, ParseException {
  218.         String query = " insert into zleceniodawcy(Imie, Nazwisko, OsobaFizyczna, Nazwa, NIP, Telefon, Email)"
  219.  
  220.                 + " values (?, ?, ?, ?, ?, ?, ?)";
  221.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  222.  
  223.         BigInteger phoneNr = new BigInteger(getRandomNumber(9));
  224.  
  225.         preparedStmt.setString(1, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  226.         preparedStmt.setString(2, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  227.         preparedStmt.setBoolean(3, Boolean.valueOf(osobaFiz.get(ThreadLocalRandom.current().nextInt(0, 500))));
  228.         preparedStmt.setString(4, company.get(ThreadLocalRandom.current().nextInt(0, 500)));
  229.         preparedStmt.setString(5, nip.get(ThreadLocalRandom.current().nextInt(0, 500)));
  230.         preparedStmt.setString(6, String.valueOf(phoneNr));
  231.         preparedStmt.setString(7, email.get(ThreadLocalRandom.current().nextInt(0, 500)));
  232.  
  233.         preparedStmt.execute();
  234.     }
  235.  
  236.     public static void insertCenniki(Connection conn) throws SQLException {
  237.         String query = " insert into cenniki(CenaZa10, CenaZa20, CenaZaWieczyste)"
  238.                 + " values (?, ?, ?)";
  239.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  240.  
  241.         preparedStmt.setDouble(1, Double.parseDouble(cena.get(ThreadLocalRandom.current().nextInt(0, 500))));
  242.         preparedStmt.setDouble(2, Double.parseDouble(cena.get(ThreadLocalRandom.current().nextInt(0, 500))));
  243.         preparedStmt.setDouble(3, Double.parseDouble(cena.get(ThreadLocalRandom.current().nextInt(0, 500))));
  244.  
  245.         preparedStmt.execute();
  246.     }
  247.  
  248.     public static void insertAdresy(Connection conn) throws SQLException {
  249.         String query = " insert into adresy(Ulica, NrBudynku, NrLokalu, KodPocztowy, Miejscowosc, Kraj)"
  250.                 + " values (?, ?, ?, ?, ?, ?)";
  251.             PreparedStatement preparedStmt = conn.prepareStatement(query);
  252.  
  253.             preparedStmt.setString(1, street.get(ThreadLocalRandom.current().nextInt(0, 500)));
  254.             preparedStmt.setString(2, nr.get(ThreadLocalRandom.current().nextInt(0, 500)));
  255.             preparedStmt.setString(3, nr.get(ThreadLocalRandom.current().nextInt(0, 500)));
  256.             preparedStmt.setString(4, postal.get(ThreadLocalRandom.current().nextInt(0, 500)));
  257.             preparedStmt.setString(5, city.get(ThreadLocalRandom.current().nextInt(0, 500)));
  258.             preparedStmt.setString(6, country.get(ThreadLocalRandom.current().nextInt(0, 500)));
  259.  
  260.             preparedStmt.execute();
  261.     }
  262.  
  263.     public static void insertPogrzeby(Connection conn) throws SQLException, ParseException {
  264.         String query = " insert into pogrzeby(DzienPogrzebu, GodzinaPogrzebu, ZmarlyID, NIPZakladu)"
  265.                 + " values (?,?,?,?)";
  266.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  267.  
  268.         DateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);
  269.  
  270.         preparedStmt.setDate(1, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  271.         preparedStmt.setTime(2, java.sql.Time.valueOf(hour.get(ThreadLocalRandom.current().nextInt(0, 500))+":00"));
  272.         preparedStmt.setInt(3, Integer.parseInt(getRandomID(conn, "zmarli", "ZmarlyID")));
  273.         preparedStmt.setString(4, getRandomID(conn, "zakladypogrzebowe", "NIP"));
  274.  
  275.         preparedStmt.execute();
  276.     }
  277.  
  278.     public static void insertPracownicy(Connection conn) throws SQLException {
  279.         String query = " insert into pracownicy(Imie, Nazwisko, DrugieImie, DrugieNazwisko, PESEL, Telefon, Email, FunkcjaID)"
  280.                 + " values (?,?,?,?,?,?,?,?)";
  281.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  282.  
  283.         BigInteger phoneNr = new BigInteger(getRandomNumber(9));
  284.  
  285.         preparedStmt.setString(1, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  286.         preparedStmt.setString(2, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  287.         preparedStmt.setString(3, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  288.         preparedStmt.setString(4, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  289.         preparedStmt.setString(5, pesel.get(ThreadLocalRandom.current().nextInt(0, 500)));
  290.         preparedStmt.setString(6, String.valueOf(phoneNr));
  291.         preparedStmt.setString(7, email.get(ThreadLocalRandom.current().nextInt(0, 500)));
  292.         preparedStmt.setInt(8, Integer.parseInt(getRandomID(conn, "funkcje", "FunkcjaID")));
  293.  
  294.         preparedStmt.execute();
  295.     }
  296.  
  297.     public static void insertWlasciciele(Connection conn) throws SQLException {
  298.         String query = " insert into wlasciciele(Imie, DrugieImie, NazwiskoWlasciciela, DrugieNazwisko, Telefon, Email, AdresID)"
  299.                 + " values (?,?,?,?,?,?,?)";
  300.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  301.  
  302.         BigInteger phoneNr = new BigInteger(getRandomNumber(9));
  303.  
  304.         preparedStmt.setString(1, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  305.         preparedStmt.setString(2, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  306.         preparedStmt.setString(3, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  307.         preparedStmt.setString(4, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  308.         preparedStmt.setString(5, String.valueOf(phoneNr));
  309.         preparedStmt.setString(6, email.get(ThreadLocalRandom.current().nextInt(0, 500)));
  310.         preparedStmt.setInt(7, Integer.parseInt(getRandomID(conn, "adresy", "AdresID")));
  311.  
  312.         preparedStmt.execute();
  313.     }
  314.  
  315.     public static void insertRodzajeKwater(Connection conn) throws SQLException {
  316.         String query = " insert into rodzajekwater(Nazwa, CennikID)"
  317.                 + " values (?,?)";
  318.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  319.  
  320.         preparedStmt.setString(1, nazwaKwatery.get(ThreadLocalRandom.current().nextInt(0, 500)));
  321.         preparedStmt.setInt(2, Integer.parseInt(getRandomID(conn, "cenniki", "idCennik")));
  322.  
  323.         preparedStmt.execute();
  324.     }
  325.  
  326.     public static void insertZlecenia(Connection conn) throws SQLException, ParseException {
  327.         String query = " insert into zlecenia(DataRozpoczecia, DataZakonczenia, Oplacone, PracownikID, UslugaID, ZleceniodawcaID)"
  328.             + " values (?,?,?,?,?,?)";
  329.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  330.  
  331.         DateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);
  332.  
  333.         preparedStmt.setDate(1, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  334.         preparedStmt.setDate(2, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  335.         preparedStmt.setBoolean(3, Boolean.valueOf(oplacone.get(ThreadLocalRandom.current().nextInt(0, 500))));
  336.         preparedStmt.setInt(4, Integer.parseInt(getRandomID(conn, "pracownicy", "PracownikID")));
  337.         preparedStmt.setInt(5, 1);
  338.         preparedStmt.setInt(6, Integer.parseInt(getRandomID(conn, "zleceniodawcy", "ZleceniodawcaID")));
  339.  
  340.         preparedStmt.execute();
  341.     }
  342.  
  343.     public static void insertAktyZgonu(Connection conn) throws SQLException, ParseException {
  344.         boolean ex = true;
  345.         BigInteger num = new BigInteger(getRandomNumber(6));
  346.  
  347.         while (ex) {
  348.             try {
  349.                 ex = false;
  350.                 String query = " insert into aktyzgonu(NrAktu, ZmarlyID, DataWystawienia, GodzinaZgonu, ImieOjca, NazwiskoOjca, ImieMatki, NazwiskoMatki)"
  351.                         + " values (?, ?, ?, ?, ?, ?, ?,?)";
  352.                 PreparedStatement preparedStmt = conn.prepareStatement(query);
  353.  
  354.                 DateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);
  355.  
  356.                 preparedStmt.setString(1, String.valueOf(num));
  357.                 preparedStmt.setInt(2, Integer.parseInt(getRandomID(conn, "zmarli", "ZmarlyID")));
  358.                 preparedStmt.setDate(3, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  359.                 preparedStmt.setTime(4, java.sql.Time.valueOf(hour.get(ThreadLocalRandom.current().nextInt(0, 500)) + ":00"));
  360.                 preparedStmt.setString(5, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  361.                 preparedStmt.setString(6, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  362.                 preparedStmt.setString(7, firstName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  363.                 preparedStmt.setString(8, lastName.get(ThreadLocalRandom.current().nextInt(0, 500)));
  364.  
  365.                 preparedStmt.execute();
  366.             }
  367.             catch (MySQLIntegrityConstraintViolationException e) {
  368.                 System.err.println(e.getMessage());
  369.                 System.err.println("dalej akty");
  370.                 ex = true;
  371.                 System.out.println(num);
  372.                 num = num.add(new BigInteger("1"));
  373.                 System.out.println(num);
  374.             }
  375.         }
  376.     }
  377.  
  378.     public static void insertKwatery(Connection conn) throws SQLException {
  379.         boolean ex = true;
  380.         int sekNr = ThreadLocalRandom.current().nextInt(1, 999);
  381.         int kwatNr = ThreadLocalRandom.current().nextInt(1, 999);
  382.  
  383.         while (ex) {
  384.             try {
  385.                 ex = false;
  386.                 String query = " insert into kwatery(NrSektora, NrKwatery, RodzajID)"
  387.                         + " values (?,?,?)";
  388.                 PreparedStatement preparedStmt = conn.prepareStatement(query);
  389.  
  390.                 preparedStmt.setInt(1, sekNr);
  391.                 preparedStmt.setInt(2, kwatNr);
  392.                 preparedStmt.setInt(3, Integer.parseInt(getRandomID(conn, "rodzajekwater", "idRodzajKwat")));
  393.  
  394.                 preparedStmt.execute();
  395.             } catch (MySQLIntegrityConstraintViolationException e) {
  396.                 System.err.println(e.getMessage());
  397.                 System.err.println("dalej kwatery");
  398.                 ex = true;
  399.                 kwatNr++;
  400.             }
  401.         }
  402.     }
  403.  
  404.     public static void insertZleconoNa(Connection conn) throws SQLException {
  405.         String query = " insert into zleconona(NrSektora, NrKwatery)"
  406.                 + " values (?,?)";
  407.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  408.         String[] ids = getRandomDoubleID(conn, "kwatery", "NrSektora", "NrKwatery");
  409.  
  410.         preparedStmt.setInt(1, Integer.parseInt(ids[0]));
  411.         preparedStmt.setInt(2, Integer.parseInt(ids[1]));
  412.  
  413.         preparedStmt.execute();
  414.     }
  415.  
  416.     public static void insertOplaty(Connection conn) throws SQLException, ParseException {
  417.         String query = " insert into oplaty(DzienWplaty, DataObowiazywania, WlascicielID, CennikID, NrSektora, NrKwatery)"
  418.                 + " values (?,?,?,?,?,?)";
  419.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  420.  
  421.         String[] ids = getRandomDoubleID(conn, "kwatery", "NrSektora", "NrKwatery");
  422.         DateFormat format = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);
  423.  
  424.         preparedStmt.setDate(1, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  425.         preparedStmt.setDate(2, new Date(format.parse(date.get(ThreadLocalRandom.current().nextInt(0, 500))).getTime()));
  426.         preparedStmt.setInt(3, Integer.parseInt(getRandomID(conn, "wlasciciele", "WlascicielID")));
  427.         preparedStmt.setInt(4, Integer.parseInt(getRandomID(conn, "cenniki", "idCennik")));
  428.         preparedStmt.setInt(5, Integer.parseInt(ids[0]));
  429.         preparedStmt.setInt(6, Integer.parseInt(ids[1]));
  430.  
  431.         preparedStmt.execute();
  432.     }
  433.  
  434.     public static void insertOplacono(Connection conn) throws SQLException {
  435.         String query = " insert into oplacono(ZmarlyID, OplataID)"
  436.                 + " values (?,?)";
  437.         PreparedStatement preparedStmt = conn.prepareStatement(query);
  438.  
  439.         preparedStmt.setInt(1, Integer.parseInt(getRandomID(conn, "zmarli", "ZmarlyID")));
  440.         preparedStmt.setInt(2, Integer.parseInt(getRandomID(conn, "oplaty", "OplataID")));
  441.  
  442.         preparedStmt.execute();
  443.     }
  444.  
  445.     public static ArrayList<String> getID(Connection con, String tablename, String idname)  {
  446.         ArrayList<String> resArray = new ArrayList<>();
  447.         try {
  448.             //Class.forName("com.mysql.jdbc.Driver").newInstance();
  449.             //Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mydb", "root", "qqqq");
  450.  
  451.             Statement st = con.createStatement();
  452.             String sql = ("SELECT * FROM " + tablename + " ORDER BY " + idname + ";");
  453.             ResultSet rs = st.executeQuery(sql);
  454.             while (rs.next()) {
  455.                 String id = rs.getString(idname);
  456.                 resArray.add(id);
  457.             }
  458.  
  459.             //con.close();
  460.         }
  461.         catch (Exception e) {
  462.             e.printStackTrace();
  463.         }
  464.         return resArray;
  465.     }
  466.  
  467.     public static String[] getRandomDoubleID(Connection con, String tablename, String idname1, String idname2)  {
  468.         ArrayList<String> resArray1 = new ArrayList<>();
  469.         ArrayList<String> resArray2 = new ArrayList<>();
  470.         try {
  471.             //Class.forName("com.mysql.jdbc.Driver").newInstance();
  472.             //Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mydb", "root", "qqqq");
  473.  
  474.             Statement st = con.createStatement();
  475.             String sql = ("SELECT * FROM " + tablename + " ORDER BY " + idname1 + ";");
  476.             ResultSet rs = st.executeQuery(sql);
  477.             while (rs.next()) {
  478.                 String id1 = rs.getString(idname1);
  479.                 String id2 = rs.getString(idname2);
  480.                 resArray1.add(id1);
  481.                 resArray2.add(id2);
  482.             }
  483.  
  484.            // con.close();
  485.         }
  486.         catch (Exception e) {
  487.             e.printStackTrace();
  488.         }
  489.  
  490.         String[] doubleRes = new String[2];
  491.         int random = ThreadLocalRandom.current().nextInt(0, resArray1.size());
  492.         doubleRes[0] = resArray1.get(random);
  493.         doubleRes[1] = resArray2.get(random);
  494.  
  495.         return doubleRes;
  496.     }
  497.  
  498.     public static String getRandomNumber(int digCount) {
  499.         Random rnd = new Random();
  500.         StringBuilder sb = new StringBuilder(digCount);
  501.         for(int i=0; i < digCount; i++)
  502.             sb.append((char)('0' + rnd.nextInt(10)));
  503.         return sb.toString();
  504.     }
  505.  
  506.     public static String getRandomID(Connection con, String tablename, String idname) {
  507.         ArrayList<String> ids = getID(con, tablename, idname);
  508.         return ids.get(ThreadLocalRandom.current().nextInt(0, ids.size()));
  509.     }
  510. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement