在Eclipse中连接SQL

原创


在Eclipse中连接SQL分为如下几个步骤:

1.加载驱动程序

2.创建连接对象

3.创建执行SQL语句的对象

4.执行SQL语句

5.关闭new出来的对象

1.加载驱动程序(以SQL为例)

不同的数据库(SQL、MySQL等)的不同版本、不同JDK可能对应不同的驱动包(以jar结尾),到网上找找即可。

下载好驱动包后将完整路径设置到classpath环境变量中,如用开发工具开发程序,还需在开发环境中设置路径。

将驱动类库文件拷贝到D:Program FilesJavajdk1.7.0jrelibext目录下。(这个路径根据JDK的版本和安装路径确定,下同) 

将驱动类库文件拷贝到D:Program FilesJavajre7libext目录下( 最好是,只要是jre文件夹,都复制一个驱动包到jre7libext里去!!)

设置SQLEXPRESS服务器:
    a.打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP

    b.右键单击启动TCP/IP

    c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433

    d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器

 e.关闭SQL Server Configuration Manager

注:可以在命令行窗口中用如下命令查看1433端口是否打开:

Telnet localhost 1433

若执行命令后,窗口左上角有光标闪烁,无其它提示信息,则说明端口已打开。

完成以上步骤后后面靠Java编程即可。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    //加载驱动程序

加载驱动程序用到类Class中的方法forName(),里面的字符串指定的位置如下图:

2.创建连接对象

Connection conn=DriverManager.getConnection(dbURL,userName,pwd);

主要用到Connection类创建连接对象conn,用DriverManager的getConnection方法创建引用。

dbURL:String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=数据库名称";(注意,DatabaseName是数据库名称,不是你登陆SQL时的用户名sa或者其他)

userName:String userName="sa";(这个才是登录时的用户名)

pwd:String pwd="dearcwm*0.";(登陆时的密码)

3.创建执行SQL语句的对象

String select_Statement="select * from student";
PreparedStatement stmp=conn.prepareStatement(select_Statement);

用类PreparedStatement创建执行SQL语句的对象stmp,这里可以看到conn用来创建此对象,所以连接SQL要按步骤顺序来。

4.执行SQL语句

ResultSet rs=stmp.executeQuery();    //执行SQL语句返回结果集

用stmp的方法executeQuery执行上面写的SQL语句,并用ResultSet的实例接受返回的结果集(这里的SQL执行查询功能,其他功能用不同的类型数据接收)

5.关闭new出来的对象

while(rs.next()) {
      System.out.println(rs.getString("Sno"));
      System.out.println(rs.getString("Sname"));
      System.out.println(rs.getString("Ssex"));
      System.out.println(rs.getInt("Sage"));
      System.out.println(rs.getString("Sdept"));
}
rs.close();
stmp.close();
conn.close();

用rs的next方法可以使其指向下一行数据,方法get字段数据类型输出字段值

查看数据库表中各字段的数据类型的查询语句为:

SELECT  name AS column_name ,
        TYPE_NAME(system_type_id) AS column_type ,
        max_length ,
        is_nullable
FROM    sys.columns
WHERE   object_id = OBJECT_ID(N'customerbase')  --customerbase 为表名

完整代码:

import java.sql.*;

public class ConnectionDB_test {

    public static void main(String[] args) {
        String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=DB OF CWM";
        String userName="sa";
        String pwd="dearcwm*0.";
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    //加载驱动程序
            Connection conn=DriverManager.getConnection(dbURL,userName,pwd);
            System.out.println("连接数据库成功!");
            String select_Statement="select * from student";
            PreparedStatement stmp=conn.prepareStatement(select_Statement);
            ResultSet rs=stmp.executeQuery();    //执行SQL语句返回结果集
            while(rs.next()) {
                System.out.println(rs.getString("Sno"));
                System.out.println(rs.getString("Sname"));
                System.out.println(rs.getString("Ssex"));
                System.out.println(rs.getInt("Sage"));
                System.out.println(rs.getString("Sdept"));
            }
            rs.close();
            stmp.close();
            conn.close();
            
        }catch(Exception e) {
            e.printStackTrace();
        }

    }

}

09:26:34

2018-09-29

原文地址:https://www.cnblogs.com/chiweiming/p/9721937.html