<prompt> Unda programu ya Java inayounganisha kwenye hifadhidata ya PostgreSQL, inasoma data kutoka kwa majedwali mengi, na kutoa ripoti kulingana na vigezo maalum. Kwa mfano, kutokana na jedwali maagizo, bidhaa, na wateja, hutoa ripoti ya maagizo yote yaliyowekwa na wateja katika jiji mahususi ndani ya kipindi cha tarehe, pamoja na maelezo ya bidhaa.PLINFORMAT  <response>: kuagiza java.sql.Connection;agiza java.sql.DriverManager;agiza java.sql.ResultSet;agiza java.sql.Statement;agiza java.time.LocalDate;Kijenereta cha Ripoti ya darasa la umma Private tuli final String DB_URL jdbc:postgresql:localhost:5432your_database_name; Kamba ya tuli ya kibinafsi DB_USER jina_lako_la_la mtumiaji; Kamba ya tuli ya faragha DB_PASSWORD neno_la_siri; utupu tuli wa umma String args jaribu Unganisha kwenye hifadhidata ya PostgreSQL Muunganisho wa muunganisho DriverManager.getConnectionDB_URL, DB_USER, DB_PASSWORD; Fafanua vigezo vya ripoti String city New York; LocalDate startDate LocalDate.of2021, 1, 1; LocalDate endDate LocalDate.of2021, 12, 31; Tengeneza ripoti tengenezaReportmuunganisho, jiji, tarehe ya kuanza, tarehe ya mwisho; Funga muunganisho wa hifadhidata connection.close; kukamata Isipokuwa e System.err.printlnKosa: e.getMessage; e.printStackTrace; Private static void generateReportMuunganisho wa muunganisho, mji wa kamba, Tarehe ya kuanza kwa Tarehe ya Ndani, Tarehe ya Mwisho ya Tarehe ya Ndani hutupa Isipokuwa Hoja ya mfuatano SELECT o.id AS order_id, c.name AS customer_name, p.name AS product_name, p.price AS product_bei, o. order_date KUTOKA kwa maagizo o JIUNGE na wateja c KWENYE o.customer_id c.id JIUNGE na bidhaa p KWENYE o.product_id p.id WAPI c.city city NA o. order_date KATI YA startTarehe NA endTarehe ORDER BY o.order_date; Taarifa ya taarifa connection.createStatement; ResultSet resultSet statement.executeQueryswali; System.out.printlnKitambulisho cha Agizo Jina la Mteja Jina la Bidhaa Bei ya Bidhaa Tarehe ya Kuagiza; System.out.println--- ---; wakati resultSet.next int orderId resultSet.getIntorder_id; String customerName resultSet.getStringcustomer_name; String productName resultSet.getStringproduct_name; double productPrice resultSet.getDoubleproduct_price; LocalDate orderDate resultSet.getDateorder_date.toLocalDate; System.out.printfd s s .2f sn, orderId, customerName, productName, productPrice, orderDate; resultSet.close; taarifa.funga; 