Mysql
 sql >> база данни >  >> RDS >> Mysql

Извикване на съхранени процедури от Java

Процедурата и Java кодът се нуждаят от малко усвояване. И така, нека започнем с процедурата:

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

Искате да извлечете стойността "idusuarios" от базата данни. Така че трябва да го запишете в стойността на параметъра. Уверете се, че параметърът и стойността в клаузата за избор са различни един от друг или предоставете името на колоната чрез [tablename].[column] или псевдоним.

Проблем с Java:Изобщо не се нуждаете от ResultSet Object. За достъп до стойността от изходен параметър на процедура използвайте cs.getInt(), предоставен от класа 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. Задействане на Java програма въз основа на актуализации на база данни и интервал от време

  2. Как да получите новия текущ баланс от съществуващия баланс?

  3. хибернация + mysql + зареждане на данни във файл

  4. Имате нужда от помощ при изграждането на MYSQL заявка за преброяване на две съдържание от един ред/таблица

  5. MySQL размито търсене на уличния адрес