Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

bagaimana cara memanggil prosedur tersimpan MySQL di boot musim semi menggunakan hibernate?

Anda dapat memanggil prosedur tersimpan menggunakan javax.persistence.StoredProcedureQuery. Anda bahkan tidak perlu mendeklarasikan apa pun pada entitas Anda.
Saya sarankan untuk memindahkan logika pemanggilan prosedur ke layanan dan kemudian memanggil metode layanan dari pengontrol Anda.

Misalnya:

@Service
public class LoginServiceImpl implements LoginService {

    @PersistenceContext
    private EntityManager entityManager;

    public Boolean checkUsernameAndPassword(String username, String password) {

        //"login" this is the name of your procedure
        StoredProcedureQuery query = entityManager.createStoredProcedureQuery("login"); 

        //Declare the parameters in the same order
        query.registerStoredProcedureParameter(1, String.class, ParameterMode.IN);
        query.registerStoredProcedureParameter(2, String.class, ParameterMode.IN);
        query.registerStoredProcedureParameter(3, Integer.class, ParameterMode.OUT);
        query.registerStoredProcedureParameter(4, String.class, ParameterMode.OUT);

        //Pass the parameter values
        query.setParameter(1, username);
        query.setParameter(2, password);

        //Execute query
        query.execute();

        //Get output parameters
        Integer outCode = (Integer) query.getOutputParameterValue(3);
        String outMessage = (String) query.getOutputParameterValue(4);

        return true; //enter your condition
    }
}

Dan kemudian, Anda dapat memanggil metode ini dari Controller Anda, setelah menyuntikkan LoginService . Anda .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. EntityManager baru terkadang mendapatkan data basi dari MySQL

  2. PDO - Ambil Assoc dalam loop 'sementara'

  3. Bagaimana cara menambahkan total sebagai baris terakhir di sql saya?

  4. Node.js + MySQL - menangani transaksi

  5. Hasilkan string acak di MySQL