sergAccount

Untitled

Sep 27th, 2020
868
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.spec.service;
  7.  
  8. import com.spec.DBUtil;
  9. import com.spec.model.UserAccount;
  10. import java.sql.Connection;
  11. import java.sql.PreparedStatement;
  12. import java.sql.ResultSet;
  13. import java.sql.ResultSetMetaData;
  14. import java.sql.SQLException;
  15. import java.sql.Statement;
  16. import java.util.List;
  17.  
  18. public class UserAccountService implements IUserAccountService{
  19.  
  20.     @Override
  21.     public int createAccount(UserAccount user) throws Exception {        
  22.         //
  23.         int pk = 0;        
  24.         final String sql = "INSERT INTO accounts (username, password, email, created_on, last_login) " +
  25.                            "VALUES(?, ?, ?, now(), NULL)";
  26.        
  27.         try(Connection c = DBUtil.getConn();
  28.                 PreparedStatement ps = c.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);){              
  29.             // установка параметра userName
  30.             ps.setString(1, user.getUserName());
  31.             ps.setString(2, user.getPassword());
  32.             ps.setString(3, user.getEmail());
  33.             // выполнение запроса
  34.             int res = ps.executeUpdate();            
  35.             System.out.println("createAccount.res=" + res);
  36.             //
  37.             try(ResultSet rs = ps.getGeneratedKeys()){
  38.                 ResultSetMetaData meta = rs.getMetaData();
  39.                 System.out.println("meta.getColumnCount()=" + meta.getColumnCount());
  40.                 for (int i = 1; i <= meta.getColumnCount(); i++) {
  41.                     System.out.println("meta.colName=" + meta.getColumnName(i));                    
  42.                 }
  43.                 if(rs.next()){
  44.                     //pk = rs.getInt(1);
  45.                     pk = rs.getInt("user_id");
  46.                     System.out.println("createAccount.pk=" + pk);
  47.                 }
  48.             }
  49.         }catch(SQLException ex){
  50.             ex.printStackTrace();
  51.             throw new Exception("error while createAccount", ex);
  52.         }
  53.         return pk;
  54.     }
  55.  
  56.     @Override
  57.     public boolean setAccount(UserAccount user) throws Exception {
  58.        
  59.         return true;
  60.     }
  61.  
  62.     @Override
  63.     public void removeAccount(String userName) throws Exception {
  64.         // -- DELETE        
  65.         final String sql = "DELETE FROM accounts WHERE username=?";
  66.         try(Connection c = DBUtil.getConn();
  67.                 PreparedStatement ps = c.prepareStatement(sql);){              
  68.             // установка параметра userName
  69.             ps.setString(1, userName);
  70.             // выполнение запроса
  71.             int res = ps.executeUpdate();            
  72.             System.out.println("removeAccount.res=" + res);
  73.         }catch(SQLException ex){
  74.             ex.printStackTrace();
  75.             throw new Exception("error while removeAccount", ex);
  76.         }
  77.     }
  78.  
  79.     @Override
  80.     public UserAccount getUserAccount(String userName) {
  81.         return null;
  82.     }
  83.  
  84.     @Override
  85.     public List<UserAccount> getAll() {
  86.         return null;
  87.     }
  88.  
  89.     @Override
  90.     public List<UserAccount> findAccounts(Object /*Filter*/ filter) {
  91.         return null;
  92.     }    
  93.     //
  94. }
  95.  
RAW Paste Data