Advertisement
sergAccount

Untitled

Feb 13th, 2021
752
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.04 KB | None | 0 0
  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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement