JDBC如何连接SQL Server数据库实现增删改查

目录

一、连接前准备

 1. 环境配置

 2. 下载JAR包

3. 添加环境变量

4. 导入JDBC包

 二、连接SQL Server

 三、实现增删改查

1. 查询数据

2. 添加数据

3. 修改数据

4. 删除数据

5. 拓展


JDBC的全称是Java数据库连接(Java DataBase Connectivity) ,应用程序通过JDBC连接到数据库,使用SQL语句对数据库中的表进行查询、增加、修改、删除等操作。此文章提供JDBC连接SQL Server的所有步骤,帮助大家实现Java对数据库的增删改查!

JDBC访问数据库的方式 

一、连接前准备

 1. 环境配置

我们右键点击“开始”菜单打开“计算机管理”,接下来以此打开树形菜单,启用所有协议。

 下一步,打开控制面版—>程序—>程序与功能—>启用或关闭Windows功能 —>勾选 Telnet客户端

 接下来,重启计算机,在此之前请务必点击“收藏”或“关注”,以免找不到下一步教程。


 重启后,按Win+R,输入cmd后按回车,输入命令:

telnet localhost 1433

进入只有光标闪烁的空白页面即通信成功。

 2. 下载JAR包

下面讲解的方法都是基于 IntelliJ IDEA 软件,如果是 Eclipse 会有细微差别。

首先,在连接JDBC之前,需要下载MS JDBC Driver包,下载地址:下载 Microsoft SQL Server JDBC 驱动程序icon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server

那么如何选择正确的JDBC呢?

请参照以下对应规则下载相应的JDBC驱动版本。

从 Microsoft JDBC Driver 12.2 for SQL Server 开始,支持 Java 开发工具包 (JDK) 19.0 和 Java Runtime Environment (JRE) 19.0。

从 Microsoft JDBC Driver 11.2 for SQL Server 开始,支持 Java 开发工具包 (JDK) 18.0 和 Java Runtime Environment (JRE) 18.0。

从 Microsoft JDBC Driver 10.2 for SQL Server 开始,支持 Java Development Kit (JDK) 17.0 和 Java Runtime Environment (JRE) 17.0。

从 Microsoft JDBC Driver 9.4 for SQL Server 开始,支持 Java Development Kit (JDK) 16.0 和 Java Runtime Environment (JRE) 16.0。

从 Microsoft JDBC Driver 9.2 for SQL Server 开始,支持 Java Development Kit (JDK) 15.0 和 Java Runtime Environment (JRE) 15.0。

从 Microsoft JDBC Driver 8.4 for SQL Server 开始,支持 Java Development Kit (JDK) 14.0 和 Java Runtime Environment (JRE) 14.0。

从 Microsoft JDBC Driver 8.2 for SQL Server 开始,支持 Java Development Kit (JDK) 13.0 和 Java Runtime Environment (JRE) 13.0。

从 Microsoft JDBC Driver 7.4 for SQL Server 开始,支持 Java Development Kit (JDK) 12.0 和 Java Runtime Environment (JRE) 12.0。

从 Microsoft JDBC Driver 7.2 for SQL Server 开始,支持 Java Development Kit (JDK) 11.0 和 Java Runtime Environment (JRE) 11.0。

从 Microsoft JDBC Driver 7.0 for SQL Server 开始,支持 Java Development Kit (JDK) 10.0 和 Java Runtime Environment (JRE) 10.0。

从 Microsoft JDBC Driver 6.4 for SQL Server 开始,支持 Java Development Kit (JDK) 9.0 和 Java Runtime Environment (JRE) 9.0。

从 Microsoft JDBC Driver 4.2 for SQL Server 开始,支持 Java Development Kit (JDK) 8.0 和 Java Runtime Environment (JRE) 8.0。 对 JDBC 规范 API 的支持已扩展为包含 JDBC 4.1 和 4.2 API。

从 Microsoft JDBC Driver 4.1 for SQL Server 开始,支持 Java Development Kit (JDK) 7.0 和 Java Runtime Environment (JRE) 7.0。

从 Microsoft JDBC Driver 4.0 for SQL Server 开始,JDBC 规范 API 的JDBC 驱动程序支持扩展为包含 JDBC 4.0 API。 已在 Java 开发工具包 (JDK) 6.0 和 Java 运行时环境 (JRE) 6.0 中引入了 JDBC 4.0 API。 JDBC 4.0 是 JDBC 3.0 API 的超集。

更详细的与你的JDK版本匹配的JAR包可以从下面的官网文档链接中查找,系统要求 - JDBC Driver for SQL Server | Microsoft Learn

 例如下表就准确指定了相应的版本:

JARJDBC 版本法规遵从性推荐的 Java 版本说明
mssql-jdbc-12.4.0.jre8.jar4.28需要 Java Runtime Environment (JRE) 1.8。 使用 JRE 1.7 或更低版本会引发异常。
mssql-jdbc-12.4.0.jre11.jar4.320需要 Java Runtime Environment (JRE) 11.0 或更高版本。 使用 JRE 10.0 或更低版本会引发异常。

然后在此链接下载合适的jar包:发行说明 - JDBC Driver for SQL Server | Microsoft Learnicon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver16#84

下载完后解压缩并打开,可以在目录中找到后缀名为.jar的文件,即需要导入到项目工程的包。

3. 添加环境变量

在添加两个包含.jar的环境变量,例如:

变量名:CLASSPATH
变量值:C:\Program Files\Microsoft JDBC Driver 11.2 for SQL Server\sqljdbc_12.2\chs\mssql-jdbc-12.2.0.jre8.jar;C:\Program Files\Microsoft JDBC Driver 11.2 for SQL Server\sqljdbc_12.2\chs\mssql-jdbc-12.2.0.jre11.jar

打开环境变量的方式。Win7:桌面或开始菜单找到“计算机”->右键单击选择"属性"->高级系统设置->环境变量,Win10:设置->系统->关于->高级系统设置->环境变量,Win11:设置->系统->系统信息->高级系统设置->环境变量。

4. 导入JDBC包

然后我们进入IDEA,点击File—>Priject Structure—>Libraries—> + —>Java —>Select Library Files,选择sqljdbc.jar

 

 如果能在首页看到External Libraries下面有sqljdbc42即表示导入成功。

 二、连接SQL Server

 JDBC的实现步骤

通过上图我们了解到,想要实现JDBC首先就需要加载并注册数据库驱动。第一步,加载并注册驱动可以通过java.lang.Class类的静态方法forName实现。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

 第二步,通过DriverManager类的getConnection方法实现数据库连接。

String databaseName = "数据库名";
String username = "用户名";
String password = "密码";
String dbURL = "jdbc:sqlserver://localhost:1433;databaseName=" + databaseName;
Connection conn = DriverManager.getConnection(dbURL, username, password);

第三步,try…catch抛出异常。


        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver";);
            String dbURL = "jdbc:sqlserver://localhost:1433;databaseName=" + databaseName;
            Connection conn = DriverManager.getConnection(dbURL, username, password);
            System.out.println("Successful Connection !");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Connection failed !");
        }

 三、实现增删改查

实现增删改查之前,为了阅读方便,我们需要新建一个容纳这些功能的类,并且创建两个类变量,方便在各个方法中调用。这里我们将类命名为ConnectionDb,创建Connection对象conn。

public class ConnectDb {
    public Connection conn;
}

接下来创建四个方法:查询、增加、修改、删除。

public class ConnectDb {
    private Connection conn;
    public void SelectAll(){}//查询表
    public void AddValue(){}//添加数据
    public void DeleteValue(){}//修改数据
    public void ModifyValue(){}//删除数据
}

下面就是实现方法的代码: 

1. 查询数据

public void SelectAll(String tableName,String where) {
        ResultSetMetaData rsmd = null;
        try {//try catch判断是否有异常
            Statement sqlStatement = conn.createStatement();//创建sql语句
            String sql = "select * from " + tableName+" "+where;
            ResultSet rs = sqlStatement.executeQuery(sql);//执行sql语句
            //下面根据该table输出属性组和所有元组
            rsmd = rs.getMetaData();//获取属性名
            String []arr = new String[0];
            if(rsmd != null) {
                int count = rsmd.getColumnCount();//统计属性个数
                arr = new String[count];
                for (int i = 1; i <= count; i++) {
                    arr[i-1] = rsmd.getColumnName(i);//把属性名输入arr
                    System.out.print(rsmd.getColumnName(i)+"  ");//输出属性名
                }
            }
            System.out.println();//换一行,保证格式正确
            while (rs.next()) {
                //判断是否存在下一行,如果存在,就使用foreach循环输出元组
                for (String s : arr) {
                    System.out.print(rs.getString(s) + "  ");
                }
                System.out.println();//控制格式
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

2. 添加数据

public void AddValue(String tableName){
        ResultSetMetaData rsmd = null;
        Scanner in = new Scanner(System.in);
        StringBuilder s1 = new StringBuilder();//创建字符串对象

        try {
            Statement sqlStatement = conn.createStatement();//创建语句对象
            String sql = "select * from " + tableName;
            ResultSet rs = sqlStatement.executeQuery(sql);//执行sql语句
            //下面根据该table输出属性组
            rsmd = rs.getMetaData();//获取属性名
            System.out.print("Input values according to :");
            if (rsmd != null) {
                int count = rsmd.getColumnCount();//统计属性个数
                for (int i = 1; i <= count; i++) {
                    if(i<count){
                        //输出属性名
                        System.out.print(rsmd.getColumnName(i) + "["+rsmd.getColumnTypeName(i)+"("+rsmd.getColumnDisplaySize(i)+")],");
                    }else System.out.print(rsmd.getColumnName(i) + "["+rsmd.getColumnTypeName(i)+"("+rsmd.getColumnDisplaySize(i)+")]");
                }
            }
            System.out.println();
            //输入需要添加的值用英文逗号分隔
            String values =in.next();
            String[] arr = values.split(",");
            for(int i = 0; i<arr.length; i++){
                //把每个分量按SQL格式依次输入到对象s1中
                if(i<arr.length-1)
                {
                    s1.append("'").append(arr[i]).append("',");
                }else s1.append("'").append(arr[i]).append("'");
            }
            String insertSql = "insert into " + tableName + " values("+s1+")";//SQL语句
            sqlStatement.executeUpdate(insertSql);
            System.out.println("Execute Successful !");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Execute failed !");
        }
    }

3. 修改数据

public void ModifyValue(String tableName){
        ResultSetMetaData rsmd = null;
        Scanner in = new Scanner(System.in);
        try {
            Statement sqlStatement = conn.createStatement();//创建sql语句
            String sql = "select * from " + tableName;
            ResultSet rs = sqlStatement.executeQuery(sql);//执行sql语句
            //下面根据该table输出属性组
            rsmd = rs.getMetaData();//获取属性名
            Map map = new HashMap();
            System.out.print("Filter column. ");
            if (rsmd != null) {
                int count = rsmd.getColumnCount();//统计属性个数
                for (int i = 1; i <= count; i++) {
                    map.put(i,rsmd.getColumnName(i));
                    System.out.print("["+i+": "+rsmd.getColumnName(i)+"]");//输出属性名
                }
            }
            System.out.print("\nInput the number: ");//筛选属性
            Object num = in.nextInt();
            System.out.print("Filter value: ");//筛选元组
            String value = in.next();
            SelectAll(tableName,"where "+map.get(num)+"='"+value+"'");//调用查询方法,查询筛选数据
            System.out.println("Are these values that need to be modified? [Y/N]");
            String YesOrNo = in.next();
            if(YesOrNo.charAt(0) == 'Y')
            {
                System.out.println("Which column should be modified?");
                if (rsmd != null) {//输出属性名
                    int count = rsmd.getColumnCount();
                    for (int i = 1; i <= count; i++) {
                        System.out.print("["+i+": "+rsmd.getColumnName(i)+"]");
                    }
                }
                System.out.print("\nInput the number: ");//输入需要修改的属性
                int num2 = in.nextInt();
                System.out.println("What value is modified to?");//修改成什么值
                String value2 = in.next();
                String modifySql = "update "+tableName+" set "+map.get(num2)+"='"+value2+"'"+" where "+map.get(num)+"="+"'"+value+"'";
                sqlStatement.executeUpdate(modifySql);
                System.out.println("Execute Successful !");
            } else if (YesOrNo.charAt(0) == 'N') {
                ModifyValue(tableName);//如果不修改以上内容,重新选择需要修改的元组
            } else System.out.println("Input error! System exit.");//除Y和N以外的键自动退出
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Execute failed !");
        }
    }

4. 删除数据

public void DeleteValue(String tableName){
        //选择列名,询问是否删除以下数据,选择Y删除。
        ResultSetMetaData rsmd = null;
        Scanner in = new Scanner(System.in);
        try {
            Statement sqlStatement = conn.createStatement();//创建sql语句
            String sql = "select * from " + tableName;
            ResultSet rs = sqlStatement.executeQuery(sql);//执行sql语句
            //下面根据该table输出属性组
            rsmd = rs.getMetaData();//获取属性名
            Map map = new HashMap();
            System.out.print("Filter column. ");//筛选属性
            if (rsmd != null) {//输出属性名
                int count = rsmd.getColumnCount();
                for (int i = 1; i <= count; i++) {
                    map.put(i,rsmd.getColumnName(i));
                    System.out.print("["+i+": "+rsmd.getColumnName(i)+"]");
                }
            }
            System.out.print("\nInput the number: ");
            Object num = in.nextInt();
            System.out.println("Filter value: ");//筛选元组
            String value = in.next();
            System.out.println("These values will be deleted.");
            SelectAll(tableName,"where "+map.get(num)+"='"+value+"'");//调用查询方法,查询需要删除的元组
            System.out.println("[Y/N]?");
            String YesOrNo = in.next();
            if(YesOrNo.charAt(0) == 'Y')
            {
                String deleteSql = "delete from "+tableName+" where "+map.get(num)+"='"+value+"'";
                sqlStatement.executeUpdate(deleteSql);//执行删除语句
                System.out.println("Execute Successful !");
            } else if (YesOrNo.charAt(0) == 'N') {
                DeleteValue(tableName);//如果不删除,重新选择需要删除的元组
            } else System.out.println("Input error! System exit.");//除Y和N以外的键自动退出
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Execute failed !");
        }
    }

5. 拓展

数据库增删改功能定义好后我们可以进一步整合,首先在main方法中调用并测试。

connectDb.SelectAll("表名","where条件句");//where条件句为空则查询所有元组
connectDb.AddValue("表名");//增加元组
connectDb.DeleteValue("表名");//删除元组
connectDb.ModifyValue("表名");//修改元组

我们可以发现,在操作表时,我们必须在方法中输入实参:表名,如果操作不同的表就需要再次修改实参,下面我们定义一个可以自行选择数据库表名的方法。

第一步,在class ConnectDb中声明一个tableName全局变量。

public class ConnectDb {
    public String tableName;
    ...
}

第二步,创建TableList方法,输出数据库内所有表,并要求选择一个表,将表名赋给tableName,代码如下。

public void TableList(){
        Scanner in = new Scanner(System.in);
        Map map = new HashMap();
        int i = 0;
        try {
            DatabaseMetaData metaData = conn.getMetaData();
            ResultSet mrs = metaData.getTables(null, null, null, new String[]{"TABLE"});
            while (mrs.next()) {
                i++;
                map.put(i, mrs.getString(3));
                System.out.println("[" + i + ": " + mrs.getString(3) + "]");
            }
            System.out.print("Input the number: ");
            int num = in.nextInt();
            this.tableName = (String) map.get(num);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

 第三步,补充main方法。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        ConnectDb connectDb = new ConnectDb("数据库名","用户名","密码");
        System.out.println("Please choose a table.");
        connectDb.TableList();
        String n;
        do {//Y/N判断是否继续操作数据表
            System.out.println("Please choose an operation.\n[1: Select all rows],[2: Add values],[3: Delete values],[4: Modify values]");
            Scanner in = new Scanner(System.in);
            System.out.print("Input the number: ");
            int i = in.nextInt();
            switch (i) {
                case 1:
                    connectDb.SelectAll(connectDb.tableName,"");//查询所有元组
                    break;
                case 2:
                    connectDb.AddValue(connectDb.tableName);//增加元组
                    break;
                case 3:
                    connectDb.DeleteValue(connectDb.tableName);//删除元组
                    break;
                case 4:
                    connectDb.ModifyValue(connectDb.tableName);//修改元组
            }
            System.out.println("Do you wanna continue to operate? [Y/N]");
            n = in.next();
        }while((n.charAt(0) == 'Y') && (n.charAt(0) != 'N'));
    }
}

结果展示。

  • 36
    点赞
  • 350
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
SqlHelper.java连接数据库通用类... package org.jdbc.com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SqlHelper { /** * 设置单例 */ public static SqlHelper instance = new SqlHelper(); /** * 设置单例的一个实例方法 * * @return */ public static SqlHelper getInstance() { if (instance == null) { synchronized (SqlHelper.class) { instance = new SqlHelper(); } } return instance; } /** * 得到MySql连接 * * @return */ public static Connection getMySqlConnection() { Connection conn = null; String url = "jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user = "root"; String password = "root"; String driver="com.mysql.jdbc.Driver"; try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /** * 得到MMSQL连接 * @return */ public static Connection getMMSQLConnection() { String url = "jdbc:sqlserver://localhost:1433;DatabaseName=jdbc"; String user = "sa"; String password = "sa"; String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; Connection conn = null; try { Class.forName(Driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /** * 得到Oracle连接 * @return */ public static Connection getOracleConnection() { String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String user = "scott"; String password = "scott"; String Driver="oracle.jdbc.driver.OracleDriver"; Connection conn = null; try { Class.forName(Driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /*** * 释放资源... * * @param rs * @param st * @param conn */ public static void Relesae(ResultSet rs, Statement st, Connection conn) { try { if (rs != null) rs.
### 回答1: Java连接SQL Server数据库可以使用JDBCJava Database Connectivity)技术。以下是实现增删改查的基本步骤: 1. 导入SQL Server JDBC驱动程序 在Java项目中,需要将SQL Server JDBC驱动程序添加到类路径中。可以从Microsoft官网下载最新版本的驱动程序。 2. 建立数据库连接 使用JDBC API中的DriverManager类和Connection接口建立与SQL Server数据库连接。需要提供数据库的URL、用户名和密码等信息。 3. 执行SQL语句 使用Connection接口的createStatement()方法创建一个Statement对象,然后使用该对象执行SQL语句。可以执行增加、删除、修改和查询等操作。 4. 处理结果集 如果执行的是查询操作,可以使用ResultSet接口获取查询结果集。可以使用ResultSet对象的方法遍历结果集,获取每一行数据的各个字段值。 5. 关闭数据库连接 使用Connection接口的close()方法关闭数据库连接,释放资源。 以上是Java连接SQL Server数据库实现增删改查的基本步骤。具体实现可以参考JDBC API文档和SQL Server JDBC驱动程序的使用说明。 ### 回答2: Java连接SQL Server数据库可以使用JDBCJava Database Connectivity)技术,JDBCJava程序访问各种关系型数据库的标准API。 首先需要下载并安装SQL Server驱动程序(.jar文件),然后在Java程序中导入驱动程序。 在使用JDBC访问SQL Server数据库时,需要先建立数据库连接。可以使用以下代码建立连接: ``` // 加载JDBC驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 建立数据库连接 String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=mydb"; String user = "sa"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); ``` 其中,url中的127.0.0.1是本地IP地址,1433是SQL Server默认端口号,mydb是数据库名称,user和password是登录用户名和密码。如果没有用户名和密码,可以省略。 连接成功后,就可以使用Java代码进行增删改查操作。以下是增加一条记录的示例代码: ``` String sql = "insert into student(name,age) values('Tom',20)"; Statement stmt = conn.createStatement(); int count = stmt.executeUpdate(sql); ``` 其中,sqlSQL语句,stmt是Statement对象,通过conn对象的createStatement()方法创建,count是影响的行数。 以下是查询数据的示例代码: ``` String sql = "select * from student"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while(rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println(name + " " + age); } ``` 其中,rs是ResultSet对象,通过stmt对象的executeQuery()方法创建,每次调用rs.next()方法可以将结果集指针移动到下一行。rs.getString("name")和rs.getInt("age")分别表示获取该行记录中name和age字段的值。 删除和修改操作也类似,只需要改变SQL语句即可。 完成操作后,需要关闭数据库连接,以便释放资源。以下是关闭连接的示例代码: ``` rs.close(); stmt.close(); conn.close(); ``` 以上就是Java连接SQL Server数据库实现增删改查的基本方法。实际应用中,可能需要结合Spring等框架来优化代码。 ### 回答3: Java作为一种面向对象的编程语言,具有类库丰富、应用范围广泛和跨平台的特点,被广泛应用于各个领域。在Java应用程序中,访问数据库是一项非常重要的任务。SQL Server是Microsoft公司开发的一种关系型数据库管理系统,在企业应用中被广泛使用。因此,本文将介绍如何使用Java连接SQL Server数据库实现增删改查的操作。 步骤一:加载SQL Server驱动 在Java程序中访问SQL Server数据库,首先需要将SQL Server驱动加载到程序中。在Java 1.6之后,可以使用JDBC 4.0自动加载驱动。以下是加载SQL Server驱动的示例代码: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 步骤二:建立连接 在加载完驱动后,要建立与数据库连接SQL Server数据库使用JDBC URL来标识数据库和访问方式。以下是连接SQL Server数据库的示例代码: String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase"; Connection con = DriverManager.getConnection(url, "myuser", "mypassword"); 其中,localhost:1433表示SQL Server数据库的IP地址和端口号;mydatabase表示要连接数据库名称;myuser和mypassword分别是连接数据库的用户名和密码。 步骤三:执行SQL语句 连接成功后,可以执行SQL语句来实现增删改查的操作。Java中的PreparedStatement类可以通过占位符(?)来提高性能和安全性。以下是实现向表中插入数据的示例代码: String sql = "INSERT INTO mytable(name, age) VALUES (?, ?)"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, "Tom"); pstmt.setInt(2, 26); pstmt.executeUpdate(); 其中,?号用于占位符,pstmt.setString(1, "Tom")和pstmt.setInt(2, 26)分别用于设置占位符的值。 如果要实现删除、更新和查询操作,可以通过以下示例代码实现: // 删除数据 String sql = "DELETE FROM mytable WHERE id = ?"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, 1); pstmt.executeUpdate(); // 更新数据 String sql = "UPDATE mytable SET age = ? WHERE id = ?"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, 28); pstmt.setInt(2, 1); pstmt.executeUpdate(); // 查询数据 String sql = "SELECT * FROM mytable WHERE name = ?"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, "Tom"); ResultSet rs = pstmt.executeQuery(); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); } 其中,rs.next()方法用于指向下一行,getId("id")、getString("name")和getInt("age")分别用于获取指定列的值。 步骤四:关闭连接 数据库连接是一种资源,需要在使用完毕后关闭以释放资源。以下是关闭连接的示例代码: if (rs != null) rs.close(); if (pstmt != null) pstmt.close(); if (con != null) con.close(); 以上是Java连接SQL Server数据库实现增删改查的方法和步骤。在实际开发中,可以根据具体的需求和业务逻辑来灵活使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Richard Du

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值