Advertisement
sergAccount

Untitled

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