欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

JDBC初步 JDBC连接SQLServer 2008之心路历程

程序员文章站 2024-04-04 09:29:11
...

JDBC简介 今天,研究了下JDBC连接SQL Server2008的过程,为了日后学习的方便,就把自己的心得写出来,供自己日后参考,如果这篇文章对您有所帮助,那就更好了。 首先,大家需要知道的是JDBC仅仅是一个接口,通过JDBC去加载对应的驱动程序,进而来操作数据库

   JDBC简介

今天,研究了下JDBC连接SQL Server2008的过程,为了日后学习的方便,就把自己的心得写出来,供自己日后参考,如果这篇文章对您有所帮助,那就更好了。

首先,大家需要知道的是JDBC仅仅是一个接口,通过JDBC去加载对应的驱动程序,进而来操作数据库。换句话说,JDBC需要依赖对应数据库的驱动程序才可以访问数据库。所以,当我们在机器上安装了一个数据库后,应用程序是不能直接操作数据库的,只有安装了对应的驱动程序后,应用程序才可以通过驱动程序去操作数据库。

JDBC全称:

Java Data Base Connectivity(java数据库连接)

组成JDBC的2个包:

Java.sql和javax.sql

    开发JDBC应用时除了需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)

JDBC案例实战

下面我们通过一个简单的增删改查案例来看下JDBC如何与数据库交互,今天我们探讨的是与SQL Server2008如何交互。因为SQL Server2000的服务端口默认为1433 不需要配置。而2008的端口为动态端口,所以我们以2008为例讲解。

第一步:搭建实验环境

1, 在SQL server 2008中创建一个Myschool数据库,并创建Admin表

Admin表中就两个字段(LoginId,LoginPwd),并且都是nvarchar类型,由于这个过程比较简单,我们就不再赘述。

2, 编写程序,在程序中加载数据库驱动

我们打开Eclipse或者Myeclipse发开环境,新建一个java项目。

我这里以Myeclipse 10.0为例讲解。

新建一个java项目,命名为javaJDBC,新建一个Java类,命名为MyFirstCon.java,

然后对项目javaJDBC点击右键添加一个lib文件夹,将sqljdbc4.jar复制到lib文件夹中。对sqljdbc4点右键,出现如下菜单

JDBC初步  JDBC连接SQLServer 2008之心路历程

     点击Add to Build Path,然后导入如下命名空间:

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    接下来,我们就可以编写代码了,但是上面我们提到SQL Server 2008中端口为动态的。那么如何使端口成为固定端口呢?我们需要设定一下:

  找到Sql Server下的配置管理器,找到SQL server 网络配置,然后找到本机上安装的数据库实例,如下图

JDBC初步  JDBC连接SQLServer 2008之心路历程

   这里我们选中Happy的协议,然后双击右侧列表中的Tcp/IP,切换到IP地址选项卡,

JDBC初步  JDBC连接SQLServer 2008之心路历程

    找到IP地址为127.0.0.1的IP地址,将已启动属性设置为是,

    然后找到IPAll节点,如下图

JDBC初步  JDBC连接SQLServer 2008之心路历程

    然后点击应用,最后点击确定就可以了。

    然后,按照下图设置,

    JDBC初步  JDBC连接SQLServer 2008之心路历程

    将已启用属性设置成是。

    切记:设置完成后要重新启动SQL Server服务。

  二、编写代码

   以下代码均写在Main方法中

   Connection con=null;

  1. 加载驱动

  try {

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

    } catch (Exception e) {

     e.printStackTrace();

    }

  2,获取与数据库连接

    con=DriverManager.getConnection("jdbc:sqlserver://happy\\happy:1435;DatabaseName=Myschool","sa","123");

  3, 获取用于向sql发送命令的statement

    Statement stmt=null;

    stmt=con.createStatement();

  4, 向数据库发送SQL命令

    String sql="insert into admin values('1112','1112') ";

    if(stmt.executeUpdate(sql)>0){

   System.out.println("新增数据成功");

  }else {

   System.out.println("新增数据失败!");

   }

  5.关闭连接

  Stmt.close()

  Con.close();

  好了,第一个新增的案例完成。

  在讲解下述内容前,我们先来看下Statement的常用方法

  Statement常用方法

    01.executeQuery(String sql):执行sql查询并获取到ResultSet对象,返回值为ResultSet

    02.executeUpdate(String sql):可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数,int类型。

    03,execute(String sql):可以执行任意SQL语句,然后获得一个布尔值,表示是否返回Result。

    /***************************Update*****************************/

    //更新

    String sql="update admin set loginpwd='111' where loginid='112'";

    stmt.executeUpdate(sql);

    /*************************delete*****************************/

    //删除

    String sql="delete from admin where loginid='1112'";

    stmt.executeUpdate(sql);

    /*************************select*****************************/

    //查询

    String sql="select * from admin";

  ResultSet rs=stmt.executeQuery(sql);

  while(rs.next()){

System.out.println(rs.getString("loginid"));

System.out.println(rs.getString("loginpwd"));

  }

    PreparedStatement接口

    PreparedStatement接口继承Statement接口,比普通的Statement对象使用起来更加灵活,更有效率,使用方式和Statement相同

这次分享就到这里,如有需要,可以联系我,email:yymqqc@126.com