《JAVA与SQLServer数据库连接共有两种方式.doc》由会员分享,可在线阅读,更多相关《JAVA与SQLServer数据库连接共有两种方式.doc(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-作者xxxx-日期xxxxJAVA与SQLServer数据库连接共有两种方式【精品文档】JAVA与SQLServer数据库连接的两种方式一jdbc-odbc桥方式1.1 建立ODBC数据源:设置控制面板管理工具数据源(ODBC)系统DSN添加选择SQLServer驱动填写数据源名字选择服务器选择登陆方式(默认使用windows NT验证)更改默认数据库为所有数据库完成测试成功则建立完毕。1.2 导入包:import java.sql.*;1.3 装载驱动:isterDriver(new sun.jdbc.odbc.JdbcOdbcDriver();或者:Class.forName(sun.j
2、dbc.odbc.JdbcOdbcDriver);第一种方式比较常用,也容易理解;1.4 建立连接:Connection con = DriverManager.getConnection(jdbc:odbc:xx);其中xx是1.1建立的数据源名字,如果建立的数据源选择的windowsNT验证方式,则上面语句即可;如果1.1所建立的数据源登陆方式选择的是SQL用户验证,则这里要写成:Connection con = DriverManager.getConnection(jdbc:odbc:xx,用户名,密码);其中的用户名,密码分别是SQLServer所建立的“登陆”用户,并具有对所用库的
3、操作权限;1.5 建立载体:Statement st = con.createStatement();1.6 发出数据请求:查询数据操作:ResultSet rs = st.executeQuery(select * from titles);该语句将sql语句传递给数据库并返回一个结果集rs,即查询结果放在rs对象中;更新数据操作:int count=st.executeUpdate(update USERS set username=aaa where id=3);所有对数据库进行的具有更新性质的操作(包含update,insert,delete等)都要调用这个方法,返回结果是一个整数,即
4、该操作所影响的行数;1.7 处理结果集:rs.next()将结果集rs中的行指针向后移动一行,注意行指针最初在第一行之前,并没有指向第一行。该方法返回一个布尔值,如果是true则表示可以移动到下一行,否则表示已经移动到记录集末尾;rs.getString()如果移动到某行,可以通过该方法获取该行的某列数据,其调用方式是:rs.getString(列名)或者rs.getString(列序号)注意:列序号是从1开始1.8 获得元数据信息(表的列定义信息):ResultSetMetaData meta = rs.getMetaData();rs.getMetaData()返回结果集rs的元信息(结果
5、集的列定义信息)meta.getColumnCount()返回元数据中的列的数量;meta.getColumnName(列序号)返回元数据中的某列的列名;其常用方式是:ResultSetMetaData meta = r.getMetaData();for (int i = 1; i = meta.getColumnCount(); i+) System.out.print(meta.getColumnName(i)+ );/字段名称 System.out.println();1.9 关闭数据库各对象:按照建立顺序逆序关闭各对象: rs.close();/关闭结果集 st.close();/关
6、闭载体 conn.close();/关闭连接二JDBC直接连接SQLServer数据库注意:(1)该方法不需要建立ODBC数据源;(2)需要配置SQLServer数据库属性中的安全项目中为SQL和windowsNT系统验证模式。2.1 配置jdk加入微软的jar包msbas2.2 装载驱动:DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver();2.3 建立连接:Connection con = DriverManager.getConnection(jdbc:microsoft:sqlse
7、rver:/localhost:1433;DatabaseName=库名,用户名,密码);其中:(1)/localhost是数据库的主机地址,本地机即是localhost;(2)1433为数据库端口号,默认是1433,如果数据库配置不是该端口需要对应修改;(3)库名为所要操作的数据库名字,注意不是表名;(4)用户名、密码为SQLServer系统设置“登录”,并具有对库名所指数据库的操作权限,默认可以用sa;2.4 其他步骤说明:以上完成后,其他步骤和使用方法完全同第1种方式一致。一般以JDBC直接连接的常用代码段如下:String dbUrl = jdbc:microsoft:sqlserve
8、r:/localhost:1433;DatabaseName=mini; String user=sa; /用户名 String password=;/密码 try / 装载驱动程序 DriverManager. registerDriver (new com.microsoft.jdbc.sqlserver.SQLServerDriver(); /建立连接 Connection conn = DriverManager.getConnection(dbUrl,user,password); Statement st = conn.createStatement(); / 执行,获得数据集 R
9、esultSet rs =st.executeQuery(SELECT * FROM users); /获得元数据 ResultSetMetaData meta = rs.getMetaData(); for (int i = 1; i = meta.getColumnCount(); i+) System.out.print(meta.getColumnName(i)+ );/字段名称 System.out.println(); /循环打印结果中的信息 while(r.next() System.out.println(rs.getString(1)+ +rs.getString(2) + + rs.getString(3) ); /关闭 rs.close(); st.close();conn.close(); catch(Exception e) e.printStackTrace(); 【精品文档】