java连接SQL数据库

java连接SQL数据库,第1张

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 中。

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

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

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

在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 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数据库了。

1、下载Microsoft JDBC Driver 4.0 for SQL Server

在这里下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=11774

4.0版本支持的 SQL Server有:

Microsoft®SQL Server® 2012

Microsoft®SQL Server® 2008 R2

Microsoft®SQL Server® 2008

Microsoft®SQL Server® 2005

Microsoft®SQL Azure

下载sqljdbc_4.0.2206.100_chs.tar.gz(2.2M),解压文件,得到sqljdbc.jar和sqljdbc4.jar。如果你使用的是jre1.7版本,则忽略sqljdbc.jar(因为它用不了,而且如果和sqljdbc4.jar一起用会出错),只留下sqljdbc4.jar。

以下设置均针对jre1.7版本(1.7以下应该也适用):

在D盘新建一个文件夹,命名为sqljdbc4,将sqljdbc4.jar复制一个进去。

2、右击 我的电脑 → 属性 → 高级系统设置(高级) → 环境变量,在系统变量中双击CLASSPATH变量(或选中CLASSPATH后 → 编辑),在最后面追加 “D:\sqljdbc4 \sqljdbc4.jar” (注意最前面有个  )若不存在CLASSPATH,就新建CLASSPATH变量,并且将其值设为“D:\sqljdbc4 \sqljdbc4.jar”。

3、连续点击 确定 以退出环境变量配置。

4、接下来的工作非常重要(因为没做我纠结了几天没成功)!!

有几个地方需要注意:

(1)我们需要将sqljdbc4.jar类库文件拷贝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目录下。(看你安装在哪个盘,如果是C盘,则最前面的D改为C,下同)

(2)我们需要将sqljdbc4.jar类库文件拷贝到D:\Program Files\Java\jre7\lib\ext目录下

最好是,只要是jre文件夹,都复制一个sqljdbc4.jar到jre7\lib\ext里去!!

(3)如果是使用Tomcat做服务器(我使用的是Tomcat7),那么我们需要将sqljdbc4.jar类库文件拷贝到C:\apache-tomcat-7.0.11\lib目录下。

(4)如果是使用Tomcat做服务器,那么我们需要将sqljdbc4.jar类库文件拷贝到D:\apache-tomcat-7.0.11\webapps\gaofei\WEB-INF\lib目录下(gaofei目录是我的应用,这个路径相信你会看明白)

注意,只有sqljdbc4.jar !!如果把sqljdbc.jar和sqljdbc4.jar都拷在一起的话,这样就算你全都做对了,也会持续出现有“此驱动程序不支持JRE1.7,请使用支持JDBC4.0的sqljdbc4.jar的类库”的问题。因为jdk默认地选择了sqljdbc.jar(前面我已经提到,只留下sqljdbc4.jar)。

三、使用Eclipse测试连接SQL Server 2012数据库:

1、打开SQL Server 2012,在其中新建数据库 Test,然后退出SQL Server 2012。

2、运行Eclipse,新建一个Java Project 名为 Test。

3、右单击src,依次选择 Build Path → Configure Build Path,在打开的窗口的右边选择 Libraries标签,然后单击 Add External JARs,找到 sqljdbc4.jar 文件并打开,然后单击 OK 完成构建路径的配置。

4、在Test中新建包pkg,在pkg中新建一个类Main,在其中输入代码如下:

packagepkg

importjava.sql.*

publicclass Main {

 publicstatic void main(String [] args)

 {

  StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

  StringdbURL="jdbc:sqlserver://localhost:1433DatabaseName=你的数据库名"

  String userName="填写你的用户名,我的是sa"

  String userPwd="填写你的密码"

  try

  {

   Class.forName(driverName)

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

    System.out.println("连接数据库成功")

  }

  catch(Exception e)

  {

   e.printStackTrace()

   System.out.print("连接失败")

  }    

 }

}

温馨提示:如果要对数据库中的某个表进行 *** 作,需要像这样子做:String sql = "SELECT*  FROM [数据库名].[dbo].[表名] where xxx " 例如String sql = "SELECT*  FROM [metro].[dbo].[4] wherexxx" 。注意,中括号是必要的,不能去掉。

5、点击右键,选择run as——>Java Application, 控制台出现【连接数据库成功】则连接成功!


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

原文地址:https://54852.com/sjk/9731338.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存