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

Memanggil prosedur tersimpan dari Java

Prosedur dan kode Java membutuhkan sedikit adopsi. Jadi mari kita mulai dengan prosedurnya:

create DEFINER=`root`@`localhost` PROCEDURE `comprobarUsuario`(
IN usu varchar(20),
IN pass varchar(20),
OUT idusuarios int)
BEGIN
  SELECT usuarios.idusuarios
  into idusuarios
  FROM usuarios
  WHERE usuarios.nombreUsuario = usu and usuarios.contraseña = pass;
end

Anda ingin mengambil nilai "idusuarios" dari database. Jadi Anda perlu menyimpannya di parameter value.Pastikan parameter dan nilai di klausa pilih berbeda satu sama lain atau berikan nama kolom melalui [tablename].[column] atau alias.

Masalah Java:Anda tidak memerlukan Objek ResultSet sama sekali. Untuk mengakses nilai dari parameter keluaran prosedur, gunakan cs.getInt() yang disediakan oleh kelas CallableStatement.

public void mostrarDatos(){
    Connection con = null;
    try {
        con = getConnection();
        CallableStatement cs = con.prepareCall("{CALL comprobarUsuario(?,?,?)}");
        cs.setString(1, "Jorge");
        cs.setString(2, "1627Jorge");
        cs.registerOutParameter(3, java.sql.Types.INTEGER);
        cs.executeUpdate();

        int resultado = cs.getInt(3);
        System.out.println(resultado);  

    } catch (Exception e) {
        System.out.println(e);
    } finally {
        if(con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                System.out.println(e);
            }
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih 2 kolom dan gabungkan data

  2. Klausa MySQL LIMIT setara untuk SQL SERVER

  3. cara membuat string yang dipisahkan koma dari array hasil kueri di php codeigniter

  4. MySQL Tampilkan Hibah untuk semua Pengguna

  5. PHP:kueri mysql dilewati/diabaikan setelah unggahan file besar?