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.jdbc.odbc.JdbcOdbcDriver");
第一种方式比较常用,也容易理解;
1.4 建立连接:
Connection con = Connection("jdbc:odbc:xx");
其中xx是1.1建立的数据源名字,如果建立的数据源选择的windowsNT验证方式,则上面语句即可;
如果1.1所建立的数据源登陆方式选择的是SQL用户验证,则这里要写成:
Connection con = Connection("jdbc:odbc:xx","用户名","密码");
其中的"用户名","密码"分别是SQLServer所建立的“登陆”用户,并具有对所用库的操作权限;
1.5 建立载体:
Statement st = ateStatement();
1.6 发出数据请求:
查询数据操作:
ResultSet rs = st.executeQuery("select * from titles");
该语句将sql语句传递给数据库并返回一个结果集rs,即查询结果放在rs对象中;
更新数据操作:
int uteUpdate("update USERS set username='aaa' where id=3");
所有对数据库进行的具有更新性质的操作(包含update,insert,delete等)都要调用这个方法,返回结果是一个整数,即该操作所影响的行数;
1.7 处理结果集:
rs.next()
将结果集rs中的行指针向后移动一行,注意行指针最初在第一行之前,并没有指向第一行。
该方法返回一个布尔值,如果是true则表示可以移动到下一行,否则表示已经移动到记录集末尾;
rs.getString()
如果移动到某行,可以通过该方法获取该行的某列数据,其调用方式是:
rs.getString("列名")或者rs.getString(列序号)注意:列序号是从1开始
1.8 获得元数据信息(表的列定义信息):
ResultSetMetaData meta = rs.getMetaData();
rs.getMetaData()返回结果集rs的元信息(结果集的列定义信息)
ColumnCount()
返回元数据中的列的数量;
ColumnName(列序号)
返回元数据中的某列的列名;
其常用方式是:
ResultSetMetaData meta = r.getMetaData();
for (int i = 1; i <= ColumnCount(); i++)
{
System.out.ColumnName(i)+" ");//字段名称
}
System.out.println();
1.9 关闭数据库各对象:
按照建立顺序逆序关闭各对象:
rs.close();//关闭结果集
st.close();//关闭载体
conn.close();//关闭连接
二.JDBC直接连接SQLServer数据库
注意:
(1)该方法不需要建立ODBC数据源;
(2)需要配置SQLServer数据库属性中的安全项目中为SQL和windowsNT系统验证模式。
2.1 配置jdk加入微软的jar包
msbase.jar
mssqlserver.jar
msutil.jar
2.2 装载驱动:
isterDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
2.3 建立连接:
Connection con = Connection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=库名","用户名","密码");
其中:
(1)//localhost是数据库的主机地址,本地机即是localhost;
(2)1433为数据库端口号,默认是1433,如果数据库配置不是该端口需要对应修改;
(3)库名为所要操作的数据库名字,注意不是表名;
(4)用户名、密码为SQLServer系统设置“登录”,并具有对库名所指数据库的操作权限,默认可以用sa;
2.4 其他步骤说明:
以上完成后,其他步骤和使用方法完全同第1种方式一致。
一般以JDBC直接连接的常用代码段如下:
String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mini";
String user="sa"; //用户名
String password="";//密码
try
{
// 装载驱动程序
DriverManager. registerDriver (new com.microsoft.jdbc.sqlserver.SQLServerDriver());
//建立连接
Connection conn = Connection(dbUrl,user,password);
Statement st = ateStatement();
java的jdbc连接数据库 // 执行,获得数据集
ResultSet rs =st.executeQuery("SELECT * FROM users");
//获得元数据
ResultSetMetaData meta = rs.getMetaData();
for (int i = 1; i <= ColumnCount(); i++)
{
System.out.ColumnName(i)+" ");//字段名称
}
System.out.println();
//循环打印结果中的信息
())
{
System.out.String(1)+" "+rs.getString(2) +" "+ rs.getString(3) );
}
//关闭
rs.close();
st.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论