Java连接SQLServer2008的方法(含jdk7和jdk8的两种方式)

工具

如果是 jdk7jdk7 以前的版本,用 jdbc.jar
如果是 JDK8,用 jdbc4.jar
Java源码+sql语句打包下载

步骤

1. 加载数据库驱动
Class.forName(驱动全类名);
  • 假如是JDK7和JDK7以前的版本,驱动全类名=sun.jdbc.odbc.JdbcOdbcDriver
  • 如果是JDK8,驱动全类名= com.microsoft.sqlserver.jdbc.SQLServerDriver
  • 比如 jdk8(常用):
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

注意:如果这里写错会报DriverClassNotFound之类的异常

2.获取数据库连接
DriverManager.getConnection(url, user, password);
url :
jdbc:odbc:MyDB
  • jdk 8的url写法协议 : 子协议: // 主机名 : 数据库端口号 ; databaseName=数据库名称
  • 协议:总是以jdbc开头(Java和数据库开发方双方约定好的规范)
  • 子协议:数据库开发方(谁来实现Java的接口)
  • 主机名:本机即localhost,假如连接其它计算机中数据库需要对方IP地址
  • 数据库端口号:SQLServer默认占用计算机的端口号为1433,可以更改。实际开发中最好更改,因为众所周知的东西容易被利用和攻击。练习不用改。
jdbc:sqlserver://localhost:1433;databaseName=MyDB
user : 数据库登录名(默认sa)
password : 数据库登录密码
3.创建Statement会话
方法一:
Statement stmt = conn.createStatement();
方法二:
PreparedStatement ps = ps = conn.prepareStatement(sql);
4.执行sql语句(以查询操作为例)
对应3中方法一:
ResultSet rs = stmt.executeQuery(sql);
对应3中方法二:
ResultSet rs = ps.executeQuery();
5. 从结果集中取得记录并在控制台打印
1) . 由于ResultSet 中的 rs.next() 默认指向数据库表中第一条记录的前面(可以理解为指向了表头),因此rs.next()刚好是表中第一条记录。
2) . rs.getXXX() 是获取表中字段,XXX对应数据库中的字段类型(varchar对应Java中的String, decimal对应Java中的double等)。
3) . rs.getXXX() 中的参数可以是数据库中的列名(用字符串表示),也可以是列名的索引。但是一般使用前者,因为能够更加直观地使人理解Java代码语义而不用到数据库查看表中字段。

这里写图片描述

rs.getString("id");
rs.getString(1);//表中第一列字段是id,2就是获取name,以此类推
System.out.println("--------------------员工信息列表-------------------");
    System.out.println("\tID\t姓名\t工资\t性别");
    while(rs.next()) {
        id = rs.getInt("id");   
        name = rs.getString("name");
        salary = rs.getDouble("salary");
        gender = rs.getString("gender");
        System.out.println("\t"+id+"\t"+name+"\t"+salary+"\t"+gender);

                }

关闭资源

像Connection conn 、Statement 、PreparedStatement、ResultSet 等这些跟连接的使用完都应该关闭,以免浪费计算机内存资源导致垃圾过多或者内存溢出等。
应当倒序关闭(后赋值的先关闭)。

关闭顺序

1. 关闭记录集
rs.close();
2. 关闭声明
ps.close();//Statement 、PreparedStatement用哪个就关闭哪个
3. 关闭连接对象
conn.close();

完整代码(只包含数据库连接,不包含增删改查操作)

package Utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionDemo {
    public static void main(String[] args) {

        Connection conn = null;
        // 1.加载数据库驱动
        try {
            // 参数填写驱动的全类名(即包名+类名)
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("找不到驱动类");
        }

        // 2.获取数据库连接
        // 2.1) 连接的数据库的路径
        String url  = "jdbc:sqlserver://localhost:1433;databaseName=MyDB";
        // 2.2) 登录数据库的用户名
        String user = "sa";
        // 2.2) 登录数据库的密码
        String password = "sa";
        try {
            // 2.3) 获取连接
            conn = DriverManager.getConnection(url, user, password);
            System.out.println("数据库连接成功!");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败!");
        }

        // 关闭资源
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }       
    }
}

优化

1.在操作数据库时,常常需要获取数据库的连接,但是每个地方都写一遍上述代码会造成代码冗余,因此我们可以将它封装到一个工具类中,需要的时候直接调用即可。优化代码如下:

package Utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class DBUtil {
    private static Connection conn = null;

    // 加载数据库驱动,为提高效率应当写在static中随着类的加载而加载
    static {        
        try {
            // 参数填写驱动的全类名(即包名+类名)——告诉数据库,你的驱动在哪
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("找不到驱动类");
        }
    }

    public static Connection getConnection() {
        String url  = "jdbc:sqlserver://localhost:1433;databaseName=MyDB";
        String user = "sa";
        String password = "sa";
        try {
            // 获取连接
            conn = DriverManager.getConnection(url, user, password);
            System.out.println("数据库连接成功!");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败!");
        }
        return conn;
    }


}

但是只获取连接是不够的,我们经常需要关闭连接,因此可以将其代码提取封装成方法,代码如下:

 public void close(ResultSet rs, PreparedStatement ps, Connection conn) {  
        if(rs!=null){  
            try{  
                rs.close();  
                rs=null;  
            }catch(SQLException e){  
                e.printStackTrace();  
                System.out.println("关闭ResultSet失败");  
            }  
        }  
        if(ps!=null){  
            try{  
                ps.close();  
                ps=null;  
            }catch(SQLException e){  
                e.printStackTrace();  
                System.out.println("关闭PreparedStatement失败");  
            }  
        }  
        if(conn!=null){  
            try{  
                conn.close();  
                conn=null;  
            }catch(SQLException e){  
                e.printStackTrace();  
                System.out.println("关闭Connection失败");  
            }  
        }  
    }  
  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在 IDEA 中使用 JDK 17 连接 SQL Server 数据库,需要进行以下步骤: 1. 首先,需要在项目的 `pom.xml` 文件中添加 Microsoft JDBC 驱动依赖。可以在 Microsoft 的官网上下载最新版的 Microsoft JDBC 驱动,然后在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>9.4.0.jre17-preview</version> </dependency> ``` 2. 在代码中使用 JDBC 连接数据库。例如,如果你要连接 SQL Server 数据库,可以使用以下代码: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main { public static void main(String[] args) throws SQLException { String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase"; String user = "sa"; String password = "123456"; Connection connection = DriverManager.getConnection(url, user, password); // 使用 connection 进行数据库操作 } } ``` 其中,`url` 是数据库连接地址,`user` 是数据库用户名,`password` 是数据库密码。 注意,SQL Server 的默认连接端口为 1433。 3. 在 IDEA 中配置 JDK 17 环境。在菜单栏中选择 `File -> Project Structure`,在弹出的窗口中选择 `SDKs`,点击 `+` 号添加 JDK 17 的安装路径。 4. 在 IDEA 中配置数据库连接。在菜单栏中选择 `View -> Tool Windows -> Database`,在弹出的窗口中点击 `+` 号添加数据库连接,选择数据库类型为 Microsoft SQL Server,填写连接信息,测试连接是否成功。 希望这些步骤能够帮助你在 IDEA 中使用 JDK 17 连接 SQL Server 数据库

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值