在Eclipse中连接SQL
原创
在Eclipse中连接SQL分为如下几个步骤:
1.加载驱动程序
2.创建连接对象
3.创建执行SQL语句的对象
4.执行SQL语句
5.关闭new出来的对象
1.加载驱动程序(以SQL为例)
不同的数据库(SQL、MySQL等)的不同版本、不同JDK可能对应不同的驱动包(以jar结尾),到网上找找即可。
下载好驱动包后将完整路径设置到classpath环境变量中,如用开发工具开发程序,还需在开发环境中设置路径。
将驱动类库文件拷贝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目录下。(这个路径根据JDK的版本和安装路径确定,下同)
将驱动类库文件拷贝到D:\Program Files\Java\jre7\lib\ext目录下( 最好是,只要是jre文件夹,都复制一个驱动包到jre7\lib\ext里去!!)
设置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