jdbc教程.ppt
【JDBC教程详解】 JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。本教程将深入讲解JDBC的基本概念、操作流程以及如何在Java中调用SQL Server存储过程。 1. **Java调用存储过程** 存储过程是预编译的SQL语句集合,存储在数据库服务器中,可重复使用,提高了代码执行效率。在Java中调用存储过程,首先需要创建`CallableStatement`对象,通过`prepareCall`方法指定存储过程的调用格式。例如: ```java CallableStatement cstmt = conn.prepareCall("{call getuserinfo}"); ``` 其中,`getuserinfo`是存储过程的名称。 2. **SQL Server存储过程** 在SQL Server中,创建一个简单的存储过程如: ```sql CREATE PROCEDURE getuserinfo AS SELECT * FROM userinfo; GO ``` 这个存储过程会返回`userinfo`表中的所有列。 3. **Java连接数据库** 我们需要加载数据库驱动并建立到数据库的连接。以下是一个简单的示例: ```java String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=t35db"; String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String name = ""; try { Class.forName(driver); Connection conn = DriverManager.getConnection(url, "sa", "sa"); } catch (Exception e) { e.printStackTrace(); } ``` 注意:这里使用的是旧版的SQL Server JDBC驱动,对于较新的SQL Server版本,应使用Microsoft提供的`com.microsoft.sqlserver.jdbc.SQLServerDriver`。 4. **执行存储过程** 使用`CallableStatement`对象的`executeQuery`方法来执行存储过程,并通过`ResultSet`获取结果。例如: ```java CallableStatement cstmt = conn.prepareCall("{call getuserinfo}"); ResultSet rs = cstmt.executeQuery(); while (rs.next()) { System.out.println(rs.getString(1) + " " + rs.getString(2)); } rs.close(); cstmt.close(); conn.close(); ``` 5. **带返回值的存储过程** 如果存储过程有返回值,可以定义输出参数。比如,一个返回用户信息的存储过程可能需要传入用户ID并返回用户名和密码: ```sql CREATE PROCEDURE getuserinfo2 (@id int, @userName varchar(20) output, @password varchar(20) output) AS BEGIN SELECT @userName = username, @password = [password] FROM userinfo WHERE userid = @id; END ``` 在Java中调用这个存储过程,需要设置输出参数: ```java cstmt.registerOutParameter(2, Types.VARCHAR); cstmt.registerOutParameter(3, Types.VARCHAR); cstmt.setInt(1, userId); // 设置输入参数 cstmt.execute(); String userName = cstmt.getString(2); String password = cstmt.getString(3); ``` 通过以上步骤,我们可以使用JDBC在Java应用程序中高效地与SQL Server数据库进行交互,无论是执行简单的SQL查询还是调用复杂的存储过程。理解这些基本概念和方法,对于进行数据库开发工作至关重要。
- 每木2013-03-15很好哦,谢谢分享
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助