如何用java 连接 sqlserver 数据库

如何用java 连接 sqlserver 数据库,第1张

本文将介绍使用java连接sqlserver数据库

工具/材料

myeclipse 、 SqlServer数据库

方法

1、要向连接数据库,首先应该保证数据库服务打开

2、数据库服务打开之后就可以在环境中编写连接代码了。如图:

连接数据库就是这两个步骤:1)加载驱动、2)创建连接。

注意在导包是导入的java.sql下的。

接下来直接运行一下就可以测试是否连接成功了

java中使用jdbc连接sql server数据库步骤:

1.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)

<1>将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量

在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2008 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar

<2>设置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

<3>打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample

<4>打开Eclipse

a.新建工程->Java ->Java project,起名为Test

b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar

c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中

<5>编写Java代码来测试JDBC连接SQL Server数据库

import java.sql.*

public class Test {

public static void main(String[] srg) {

//加载JDBC驱动

String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"

//连接服务器和数据库sample

String dbURL = "jdbc:sqlserver://localhost:1433DatabaseName=sample"

String userName = "sa"//默认用户名

String userPwd = "123456"//密码

Connection dbConn

try {

Class.forName(driverName)

dbConn = DriverManager.getConnection(dbURL, userName, userPwd)

System.out.println("Connection Successful!")//如果连接成功 控制台输出

} catch (Exception e) {

e.printStackTrace()

}

}

}

执行以后就可以连接到sample数据库了。

import java.sql.ResultSet//都是导入一些下面需要用到的类

String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433DatabaseName=library"//jdbc连接数据库url

public sqlServer() {

try {

Class.forName(DBDriver).newInstance() //加载SQLServer驱动程序,DBDriver是你上面的代码

conn=DriverManager.getConnection(ConnStr,"sa","sa")//和数据库建立连接,ConnStr里面的://WINJUE:1433DatabaseName=library 分别是主机地址:端口号你自己建的数据库(database)

}

catch(SQLException e) { //捕获SQL异常

System.out.println(e.getMessage())//要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。

}

catch(Exception e) { //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和MYSQL,这个我通常不要,只须捕获SQL异常就OL

System.out.println(e.getMessage())

}

}

public Connection getConn(){ //获取连接方法

return conn

}

public void insert(String sql) {//增删改

try {

Statement stm=conn.createStatement()调用conn下的方法,创建Statement对象

stm.executeUpdate(sql)//调用Statement下的方法执行SQL语句

System.out.println(" *** 作成功")

}

catch(Exception e){

System.out.println(e.getMessage())//如上

}

}

public ResultSet query(String sql){ //查询

try{

Statement stm=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)

rs=stm.executeQuery(sql)//如上

}

catch(Exception e){

System.out.println(e.getMessage())

}

return rs

}

public static void main(String args[]){

sqlServer conn=new sqlServer()//创建sqlServer,就是你上面的类,以便调用里面的方法

ResultSet rs=conn.query("select * from Orders")//调用query方法,执行SQL语句后,把结果保存到结果集里

//conn.insert("delete from BookInfo where BookName =" +"\'悟空传\'")

//conn.insert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')")

try{

while(rs.next()){ //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走

System.out.print(rs.getString("OrderID"))

//System.out.print(rs.getString("U_age"))

}

rs.close() //关闭结果集

}

catch (Exception e){

System.out.println(e.getMessage())

}

}

}

注:

TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。

TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。

TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10067005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存