在MySQL中调用Java程序,可以使用存储过程和函数,以下是详细的步骤和小标题:
1、创建Java类
创建一个Java类,用于实现与MySQL数据库的交互,创建一个名为DatabaseUtil
的Java类:
import java.sql.*; public class DatabaseUtil { private static final String URL = "jdbc:mysql://localhost:3306/test"; private static final String USER = "root"; private static final String PASSWORD = "password"; public static void main(String[] args) { // 调用存储过程或函数 } // 加载驱动 static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 获取数据库连接 public static Connection getConnection() { Connection connection = null; try { connection = DriverManager.getConnection(URL, USER, PASSWORD); } catch (SQLException e) { e.printStackTrace(); } return connection; } // 关闭资源 public static void close(ResultSet resultSet, Statement statement, Connection connection) { if (resultSet != null) { try { resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
2、创建存储过程或函数
在MySQL中创建一个存储过程或函数,用于处理数据,创建一个名为addNumbers
的存储过程,用于计算两个数的和:
DELIMITER // CREATE PROCEDURE addNumbers(IN num1 INT, IN num2 INT, OUT sum INT) BEGIN SET sum = num1 + num2; END // DELIMITER ;
3、调用存储过程或函数的Java方法
在DatabaseUtil
类中,添加一个方法,用于调用存储过程或函数,添加一个名为callAddNumbers
的方法,用于调用addNumbers
存储过程:
public static int callAddNumbers(int num1, int num2) { int sum = 0; try (Connection connection = getConnection(); CallableStatement callableStatement = connection.prepareCall("{CALL addNumbers(?, ?, ?)}")) { callableStatement.setInt(1, num1); callableStatement.setInt(2, num2); callableStatement.registerOutParameter(3, Types.INTEGER); callableStatement.executeUpdate(); sum = callableStatement.getInt(3); } catch (SQLException e) { e.printStackTrace(); } finally { close(null, null, null); // 不需要关闭资源,因为使用了trywithresources语句 } return sum; }
4、测试调用存储过程或函数的方法
在DatabaseUtil
类的main
方法中,调用callAddNumbers
方法,测试其功能:
public static void main(String[] args) { int num1 = 5; int num2 = 10; int sum = callAddNumbers(num1, num2); System.out.println("The sum of " + num1 + " and " + num2 + " is: " + sum); // 输出:The sum of 5 and 10 is: 15 }
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/637068.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复