JDBC连接SQL Server2008示例代码
这是JDBC连接SQL Server2008示例代码,其中有一份是在“SQL Server Authentication”模式下的,即需要账号密码,另一份为在“Windows Authentication”模式下的,不需要账号密码 ### JDBC 连接 SQL Server 2008 示例代码解析 #### 一、JDBC 连接 SQL Server 2008 概述 在Java应用程序中,通过JDBC(Java Database Connectivity)可以实现与SQL Server 2008数据库的连接。JDBC是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问接口,使得Java应用程序能够跨平台地访问各种类型的数据库。本文将详细介绍两种不同的连接方式:一种是基于SQL Server身份验证的方式,这种方式需要提供用户名和密码;另一种则是基于Windows身份验证的方式,这种方式无需提供额外的认证信息。 #### 二、SQL Server Authentication 模式 **1. 导入必要的包** 首先需要导入以下Java包: ```java import java.sql.*; ``` 这些包提供了JDBC中必要的类和接口。 **2. 创建连接** 定义数据库驱动类和连接字符串,并尝试加载数据库驱动: ```java String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String connectDB = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Mydb"; try { Class.forName(JDriver); } catch (ClassNotFoundException e) { System.out.println("加载数据库引擎失败"); System.exit(0); } System.out.println("数据库驱动成功"); ``` **3. 连接到数据库** 使用`DriverManager.getConnection()`方法建立数据库连接: ```java String user = "sa"; String pwd = "*****"; Connection con = DriverManager.getConnection(connectDB, user, pwd); System.out.println("连接数据库成功"); ``` 这里使用了SQL Server的身份验证方式,因此需要提供用户名和密码。 **4. 执行SQL操作** 创建一个`Statement`对象,并通过该对象执行SQL语句: ```java Statement stmt = con.createStatement(); // 创建表 String query = "DROP TABLE Mydb; CREATE TABLE Mydb(ID NCHAR(2), NAME NCHAR(10))"; stmt.executeUpdate(query); // 插入数据 String a1 = "INSERT INTO Mydb VALUES('1','张三')"; String a2 = "INSERT INTO Mydb VALUES('2','李四')"; String a3 = "INSERT INTO Mydb VALUES('3','王五')"; stmt.executeUpdate(a1); stmt.executeUpdate(a2); stmt.executeUpdate(a3); // 查询数据 ResultSet rs = stmt.executeQuery("SELECT * FROM Mydb"); while (rs.next()) { System.out.println(rs.getString("ID") + "\t" + rs.getString("NAME")); } // 关闭资源 stmt.close(); con.close(); ``` #### 三、Windows Authentication 模式 **1. 导入必要的包** 与上一种连接方式相同,也需要导入相应的Java包。 **2. 创建连接** 与SQL Server Authentication模式不同的是,这里的连接字符串包含了一个参数`integratedSecurity=true`,表示启用Windows身份验证模式: ```java String dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbUrl = "jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=jdbc"; ``` **3. 连接到数据库** 使用相同的`DriverManager.getConnection()`方法,但不需要提供用户名和密码: ```java Connection con = DriverManager.getConnection(dbUrl); ``` **4. 执行SQL操作** 接下来的操作与SQL Server Authentication模式中的操作相似,可以通过创建`Statement`对象来执行SQL语句: ```java Statement stmt = con.createStatement(); // 创建表 String query = "CREATE TABLE Mydb(ID NCHAR(2), NAME NCHAR(10))"; stmt.executeUpdate(query); // 插入数据 String a1 = "INSERT INTO Mydb VALUES('1','张三')"; stmt.executeUpdate(a1); // 查询数据 ResultSet rs = stmt.executeQuery("SELECT * FROM Mydb"); while (rs.next()) { System.out.println(rs.getString("ID") + "\t" + rs.getString("NAME")); } // 关闭资源 stmt.close(); con.close(); ``` #### 四、总结 通过以上两种不同的连接方式,我们可以看到,无论是使用SQL Server身份验证还是Windows身份验证,都可以成功地与SQL Server 2008数据库建立连接并执行基本的CRUD操作。选择哪种方式取决于具体的应用场景和安全需求。在实际开发过程中,建议根据项目需求和安全性考虑选择合适的连接方式。
import java.sql.*;
public class javaConSql{
public static void main(String[] args){
String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Mydb";//数据源
try{
Class.forName(JDriver);//加载数据库引擎,返回给定字符串名的类
}catch(ClassNotFoundException e){
System.out.println("加载数据库引擎失败");
System.exit(0);
}
System.out.println("数据库驱动成功");
try{
String user="sa";
String pwd="*****";//这是你的账号密码
Connection con=DriverManager.getConnection(connectDB,user,pwd);//连接数据库对象
System.out.println("连接数据库成功");
Statement stmt=con.createStatement();//创建SQL命令对象
//创建表
System.out.println("开始创建表");
String query = "DROP TABLE Mydb;CREATE TABLE Mydb(ID NCHAR(2),NAME NCHAR(10))";//创建表SQL语句
stmt.executeUpdate(query);//执行SQL命令对象
System.out.println("表创建成功");
//输入数据
- 粉丝: 34
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#ASP.NET企业文件管理系统源码数据库 SQL2008源码类型 WebForm
- 小红书图文下载工具,无水印下载图文
- 飞书文档下载工具,解除飞书文档复制限制
- 7fe9198d9e3a020dd32b09bda2cdd7ab_1731557932240_1
- VaM_Updater.zip
- C#MVC5+EasyUI企业快速开发框架源码 BS开发框架源码数据库 SQL2012源码类型 WebForm
- zblog站群:zblog seo站群高收录排名全地域霸屏
- 【安卓毕业设计】数独联网对战APP源码(完整前后端+mysql+说明文档).zip
- 【安卓毕业设计】Android天气小作业源码(完整前后端+mysql+说明文档).zip
- 【安卓毕业设计】群养猪生长状态远程监测源码(完整前后端+mysql+说明文档).zip
- 1
- 2
前往页