Java调用存储过程计算年龄
时间: 2023-06-30 21:18:07 浏览: 111
可以通过以下步骤来实现Java调用存储过程计算年龄:
1. 创建存储过程
```
CREATE PROCEDURE calculate_age(IN birthdate DATE, OUT age INT)
BEGIN
DECLARE birthyear INT;
DECLARE thisyear INT;
SET birthyear = YEAR(birthdate);
SET thisyear = YEAR(NOW());
SET age = thisyear - birthyear;
END
```
2. 在Java中调用存储过程
```
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
CallableStatement stmt = conn.prepareCall("{call calculate_age(?, ?)}");
stmt.setDate(1, birthdate);
stmt.registerOutParameter(2, Types.INTEGER);
stmt.execute();
int age = stmt.getInt(2);
```
其中,birthdate为出生日期的Date对象。在调用存储过程时,通过setDate方法将birthdate传递给存储过程的输入参数,通过registerOutParameter方法注册存储过程的输出参数,最后通过getInt方法获取输出参数的值,即计算得到的年龄。
阅读全文