sergAccount

Untitled

Feb 13th, 2021
606
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.mycompany.app11;
  7.  
  8. import java.sql.Connection;
  9. import java.sql.PreparedStatement;
  10. import java.sql.ResultSet;
  11. import java.sql.SQLException;
  12. import java.sql.Statement;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15.  
  16. /**
  17.  *
  18.  * @author Admin
  19.  */
  20. public class PersonService {
  21.  
  22.     public PersonService() {
  23.     }
  24.  
  25.     // CRUD - операции
  26.     // create (создание)
  27.     // read   (чтение)
  28.     // update (модификация)
  29.     // delete (удаление)
  30.     // 1)
  31.     // метод должен получить информацию из таблицы person
  32.     public List<Person> getAllPersons() throws SQLException {
  33.         //
  34.         final List<Person> list = new ArrayList<>();
  35.         final String sql = "select id, name from person order by name desc"; // sql - SQL - запрос
  36.         try (Connection c = DataBaseUtil.getConnection();
  37.                 Statement s = c.createStatement();
  38.                 ResultSet rs = s.executeQuery(sql)) {
  39.             // проверка что есть записи
  40.             while (rs.next()) {
  41.                 int id = rs.getInt("id");           // getInt - получаем значение типа int используем метод getXXX() на ResultSet                
  42.                 String name = rs.getString("name"); //                
  43.                 list.add(new Person(id, name));
  44.             }
  45.         } catch (SQLException ex) {
  46.             ex.printStackTrace();
  47.             throw ex;
  48.         }
  49.         return list;
  50.     }
  51.  
  52.     // PreparedStatement - возможность использвания параметризованных запросов
  53.     public Person getPersonById(int id) throws SQLException {
  54.         // используем символ ? для возможности подстановки значения параметра
  55.         final String sql = "select id, name from person where id = ?";
  56.         try (Connection c = DataBaseUtil.getConnection();
  57.                 PreparedStatement s = c.prepareStatement(sql)) {
  58.             // устанавливаем значения параметров
  59.             // s.setXXX(paramIndex, value);
  60.             s.setInt(1, id);
  61.             try (ResultSet rs = s.executeQuery()) {
  62.                 if (rs.next()) {                  
  63.                     String name = rs.getString("name"); //                
  64.                     return new Person(id, name);
  65.                 }
  66.             }
  67.         } catch (SQLException ex) {
  68.             ex.printStackTrace();
  69.             throw ex;
  70.         }
  71.         return null;
  72.     }
  73.     /*
  74.     // create (создание)    
  75.     // update (модификация)
  76.     // delete (удаление)
  77.     */
  78.     // удаляет персону по идентификатору
  79.     public void deletePerson(int id) throws SQLException {
  80.         //
  81.         final String sql = "DELETE FROM person WHERE id=?";
  82.         try (Connection c = DataBaseUtil.getConnection();
  83.                 PreparedStatement s = c.prepareStatement(sql)) {
  84.             // устанавливаем значения параметров
  85.             // s.setXXX(paramIndex, value);
  86.             s.setInt(1, id);        
  87.             // используем метод executeUpdate
  88.             int num = s.executeUpdate();
  89.             System.out.println("deletePerson.num=" + num);    
  90.         } catch (SQLException ex) {
  91.             ex.printStackTrace();
  92.             throw ex;
  93.         }
  94.     }
  95.     // создает объект типа Person
  96.     public void createPerson(Person p) throws SQLException {
  97.         final String sql = "INSERT INTO person (name) VALUES(?)";
  98.     }
  99.     // создает объект типа Person
  100.     public void setPerson(Person p) throws SQLException {
  101.         final String sql = "UPDATE person SET name=? WHERE id=?";
  102.     }
  103. }
  104.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×