JDBC连接技术(三):connect with SQL Server 2008

SQL Server 2008 数据库配置

  运用JDBC技术连接SQL Server数据库需要事先对数据库做好相应的配置。首先建立SQL Server登陆验证模式:
  这里写图片描述
  建立登陆名与密码之后,如果能够以SQL身份验证登陆并打开数据库,则数据库相关配置工作已经完成。

Eclipse加载JDBC驱动

将JDBC驱动程序导入Eclipse项目中,这里有两种导入方式:

  • 对于普通project而言,只能通过导入包的绝对地址的方式导入包,如果项目要复制到其他终端又要重新导入。
  • 对于web project而言,先把jar包放在项目的目录下,通过添加jar包,是使用相对地址的,这样把项目复制到其他终端也可以使用。
    这里写图片描述
    这里写图片描述
数据库连接方法

  打开连接与数据库建立连接的标准方法是调用DriverManager.getConnection方法,该方法接受含有某个url的字符串。DriverManager类(即所谓的JDBC管理层)将尝试找到可与那个url所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与url中指定的数据库进行连接的驱动程序为止,DriverManager的getConnection方法使用这个url来建立实际的连接。

String url = "jdbc:sqlserver://localhost:1433;DatabaseName=DBTest";
Connection conn = DriverManager.getConnection(url, username, password);

  JDBC URL提供了一种表示数据库的方法,可以使相应的驱动程序能识别该数据库并与之建立连接。JDBC URL的标准语法由三部分组成,各部分之间用冒号分隔,例如jdbc:<子协议>:<子名称>。JDBC URL的三个部分可分解如下:
  1) jdbc——协议。JDBC URL中的协议总是jdbc
  2) <子协议>——驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,例如:odbc。如果要用网络命名服务(这样URL中的数据库名称不必是实际名称),则命名服务可以作为子协议。
  3) <子名称>——一种标识数据库的方法。使用子名称的目的是为定位数据库提供足够的信息。
  
  对于第二条语句,通过调用getConnection方法来建立与数据库的连接,并返回一个Connection对象。这个方法需要提供3个String类型的参数,其中第一个是JDBC URL,后面两个分别是连接次数据库的用户名和密码,若没有则设置为null值。

与SQL Server 2008建立连接
  • 首先定义连接数据库所需的参数等:
// 连接数据库的url以及驱动程序
String url = "jdbc:sqlserver://localhost:1433; DatabaseName=DBtest";
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
// 数据库登录所需用户名密码
String username = "sa";
String password = "123";
  • 定义数据库操作类
// 定义数据库操作类
Connection conn = null;// 连接数据库
ResultSet rs = null;// 存放查询结果
Statement stmt = null;// 执行sql语句
  • 与数据库建立连接
// 建立数据库的连接
@SuppressWarnings("finally")
public Connection connectDB()
{
    try
    {
        // 装载SQL Server驱动程序
        Class.forName(driver);
        /*
         * 尝试连接一个驱动程序,系统中已经注册的驱动程序, 将会被依次进行装载和连接,直到找到一个正确的驱动程序为止
         */
        conn = DriverManager.getConnection(url, username, password);
        stmt = conn.createStatement();
        System.out.println("连接成功!");
    } catch (Exception ex)
    {
        ex.printStackTrace();
        System.out.println("连接失败!");
    } finally
    {
        return conn;
    }
}
  • 建立连接关闭方法
public boolean Close()
{
    boolean isClose = false;
    if (rs != null)
    {
        try
        {
            rs.close();rs = null;
            isClose = true;
        } catch (SQLException e)
        {
            isClose = false;
            e.printStackTrace();
            System.out.println("关闭结果集连接失败");
        }
    }
    if (stmt != null)
    {
        try
        {
            stmt.close();stmt = null;
            isClose = true;
        } catch (SQLException e)
        {
            isClose = false;
            e.printStackTrace();
            System.out.println("关闭stmt连接失败");
        }
    }
    if (conn != null)
    {
        try
        {
            conn.close();conn = null;
            isClose = true;
        } catch (Exception e)
        {
            isClose = false;
            e.printStackTrace();
            System.out.println("关闭conn连接失败");
        }
    }
    return isClose;
}
  • 执行数据库连接程序
public static void main(String[] args)
{
    try
    {
        DBconnection test = new DBconnection();
        test.Close();
    } catch (Exception ex)
    {
        ex.printStackTrace();
    }
}
  • 结果
    这里写图片描述
    程序执行完毕,成功调用getConnection方法连接到数据库。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值