原创
在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