Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để gọi thủ tục lưu trữ MySQL trong khởi động mùa xuân bằng cách sử dụng hibernate?

Bạn có thể gọi một thủ tục được lưu trữ bằng javax.persistence.StoredProcedureQuery. Bạn thậm chí không cần phải khai báo bất kỳ điều gì trên thực thể của mình.
Tôi khuyên bạn nên chuyển quy trình gọi logic sang một dịch vụ và sau đó gọi phương thức dịch vụ từ bộ điều khiển của bạn.

Ví dụ:

@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
    }
}

Và sau đó, bạn có thể gọi phương thức này từ Bộ điều khiển của mình, sau khi nhập LoginService của bạn .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WSO2EMM - Quản lý ứng dụng không bao giờ trả về danh sách người dùng đã cài đặt / chưa cài đặt ứng dụng

  2. Làm thế nào để chọn ngày 30 ngày qua trong MySQL ngay cả những ngày không có trong mysql?

  3. Cách thực thi tệp mysql * .sql trong ứng dụng c # của tôi

  4. Hợp nhất và cập nhật khóa chính

  5. lỗi mySQL:# 1248 - Mọi bảng dẫn xuất phải có bí danh riêng