首先,关于数据库的安装方法在本文中就不再累赘,详情请见我的上一篇博客。
http://cq520.iteye.com/admin/blogs/1982097
不过需要注意的是,由于装有Windows操作系统下的电脑都默认有SQL Server,所以大家可以打开自己的电脑看一下自己的电脑里面是哪个SQL Server 版本(在开始菜单中找到Microsoft SQL Server文件夹,后面的版本号就是本机的SQL Server 版本)。
不过系统自带的SQL Server可能并没有管理工具(SQL Server Management Studio,如本人的电脑),就可以在百度下载,要记得添加上自己的版本号哦,如SQL Server Management Studio 2005.
下面进入主题,如何使用JDBC连接SQL Server数据库:(以2005版本为例)
1. 关闭防火墙。防火墙设置会导致你无法连接到本地的数据库,至少这是出于安全的考虑。
2. 配置TCP端口:
a. 开始->所有程序->Microsoft SQL Server 2005->配置工具->SQL Server配置管理器->SQL Server 2005 网络配置->MSSQLSERVER协议
b. 启用“TCP/IP”(右键单击选择“启动”)[http://www.colalife.com]
c. 双击“TCP/IP”->“IP 地址”->“IPAll”->“TCP 端口”项添加默认的“1433”端口
3. 外围应用配置:Microsoft SQL Server 2005->配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->
①选SQLEXPRESS->Database Engine->远程连接->本地连接和远程连接->同时使用TCP/IP和named pipes
②选SQL Server Browser->服务->启动类型改为“自动”->应用->启动->确定
4. 修改默认的登录验证模式(如果在安装过程中是默认按“Windows 身份验证模式”方式安装,所以sa登录是被禁用的,即使将身份验证模式更改为“SQL Server 和 Windows 身份验证模式”,sa登录仍处于禁用状态,所以需要启用sa登录帐户):
①在SQL Server Management Studio 的对象资源管理器中,安全性->登录名->右击“sa”->属性->
常规->将登录名sa的密码和确认密码设为强密码->状态->登录->启用->确定
②在SQL Server Management Studio 的对象资源管理器中,右击服务器->属性->安全性->服务器身份验证->选择“SQL Server和Windows身份验证模式”->确定->确定
5. 在SQL Server Management Studio中新建一个数据库(例如“mytest”,如果测试程序带有数据库文件也可不用新建而直接附加到当前SQL Server数据库服务器);在SQL Server Management Studio 的对象资源管理器中右击服务器->重新启动->是
6. 运行下载的JDBC文件“sqljdbc_1.2.2828.100_chs.exe”,(已在附件中给大家配上),解压到“C:\Program Files”文件夹中;[http://www.colalife.com]
将Classpath设置为包含sqljdbc.jar文件(也可加到系统环境变量中),建议从解压文件夹下找到sqljdbc.jar,将其复制到自己常用的Jar文件夹里,用的时候方便找到。
7. 在Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5 中进行JDBC连接设置并测试
1、打开Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5,新建Java Project”,项目名为Test
2、选择“Window”→“Preferences”→“Java”→“Installed JREs”,选定已安装的 JRE,点击“Edit...”→“Add External JARs”,找到sqljdbc.jar并添加—>OK
3、"Window"->"Open Perspective"->"MyEclipse Database Explorer"->(左侧)"DB Browser"右键“New”->填写链接属性Driver name,URL为:jdbc:sqlserver:// localhost:1433;databaseName=mytest,User name:sa,Password:密码。然后在Driver JARs 点Add JARs 添加sqljdbc.jar,点及Test
Driver测试,勾上Save Password保存密码,点击完成结束——即完成了在DB Browser中连接数据库配置。
到上面一步为止,我们的配置工作就已经基本完成了,接下来就是一个数据库编程的具体实例。需要注意的是,就像我上面所提到的,要进行数据库编程,至少得有个数据库吧(巧妇难为无米之炊),还要会一些基本的数据库操作,这些对于学过数据库课程的你应该没有问题,如果你没学过数据库课程,也没关系,你可以花时间看看数据库的一些简单操作,这些在相关课本上很容易找到。
废话不多说,代码如下:
package DBManager; import java.sql.Connection; import java.sql.DriverManager; import INFO.Info; /** * 数据库连接类 * @author Administrator * */ public class DBConnection { //加载并连接本地的SQLServer String driveName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url="jdbc:sqlserver://localhost:1433;DatabaseName=cqTalk"; String userName="sa"; String pwd="xiaoyan710"; /** * 创建时加载驱动 */ public DBConnection(){ try{ Class.forName(driveName); }catch(Exception e){ Info.error("驱动加载失败"); } } public Connection getConnection(){ Connection con=null; try{ con=DriverManager.getConnection(url,userName,pwd); Info.log("数据库连接成功"); }catch(Exception e){ e.printStackTrace(); } return con; } }
package User; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import DBManager.DBConnection; import INFO.Info; /** * 对用户数据的操作 * @author cq * */ public class UserDao { DBConnection dbCon=null; Connection connection=null; PreparedStatement state=null;//预编译的sql语句对象 String sql=null;//sql语句 /** * 创建用户操作类时加载驱动 */ public UserDao(){ dbCon=new DBConnection(); } /** * 添加新用户的方法 * @param user */ public void add(User user){ connection=dbCon.getConnection(); sql="insert into userData values(?,?,?,?,?)"; try{ state=connection.prepareStatement(sql); state.setString(1, user.getID()); state.setString(2, user.getPwd()); state.setString(3, user.getNickname()); state.setInt(4, user.getChecking()); state.setString(5, user.getAnswer()); state.executeUpdate(); Info.log("用户添加成功"); state.close(); }catch(Exception e){ e.printStackTrace(); Info.error("用户添加失败"); }finally{ if(connection!=null){ try{ connection.close(); }catch(Exception e){ e.printStackTrace(); } } } } /** * 删除一个用户的方法,根据用户的ID号 * @param ID */ public void delete(String ID){ connection=dbCon.getConnection(); sql="delete from userData where userID=?"; try{ state=connection.prepareStatement(sql); state.setString(1, ID); state.executeUpdate(); Info.log("用户删除成功"); state.close(); }catch(Exception e){ Info.error("用户删除失败"); }finally{ if(connection!=null){ try{ connection.close(); }catch(Exception e){ e.printStackTrace(); } } } } /** * 更新用户数据的方法 * @param user */ public void update(User user){ connection=dbCon.getConnection(); sql="update userData set pwd=?,nickname=?" + ",checking=?,answer=? where userID=?"; try{ //执行更新操作时,所填入的数据顺序一定要与sql语句的数据顺序相同 state=connection.prepareStatement(sql); state.setString(1, user.getPwd()); state.setString(2, user.getNickname()); state.setInt(3, user.getChecking()); state.setString(4, user.getAnswer()); state.setString(5, user.getID()); state.executeUpdate(); Info.log("用户更新成功"); state.close(); }catch(Exception e){ e.printStackTrace(); Info.error("数据更新失败"); }finally{ if(connection!=null){ try{ connection.close(); }catch(Exception e){ e.printStackTrace(); } } } } /** * 根据用户ID查找用户的信息 * @param ID */ public User get(String ID){ User user=new User(); connection=dbCon.getConnection(); sql="select * from userData where userID=?"; try{ state=connection.prepareStatement(sql); state.setString(1, ID); ResultSet set=state.executeQuery(); while(set.next()){ user.setID(set.getString(1).trim()); user.setPwd(set.getString(2).trim()); user.setNickname(set.getString(3).trim()); user.setChecking(set.getInt(4)); user.setAnswer(set.getString(5)); } state.close(); set.close(); }catch(Exception e){ Info.error("查找失败"); }finally{ if(connection!=null){ try{ connection.close(); }catch(Exception e){ e.printStackTrace(); } } } return user; } }
package User; /** * 用户类 * @author cq * */ public class User { private String ID;//账号 private String pwd;//密码 private String nickname;//昵称 private int checking;//密保验证编号 private String answer;//答案 public User(){ } public User(String ID,String pwd){ this.ID=ID; this.pwd=pwd; } /** * 获取账号 * @return */ public String getID() { return ID; } /** * 设置账号 * @param iD */ public void setID(String iD) { ID = iD; } /** * 获取密码 * @return */ public String getPwd() { return pwd; } /** * 设置密码 * @param pwd */ public void setPwd(String pwd) { this.pwd = pwd; } /** * 获取昵称 * @return */ public String getNickname() { return nickname; } /** * 设置昵称 * @param nickname */ public void setNickname(String nickname) { this.nickname = nickname; } /** * 获取验证编号 * @return */ public int getChecking() { return checking; } /** * 设置验证编号 * @param checking */ public void setChecking(int checking) { this.checking = checking; } /** * 获取密保答案 * @return */ public String getAnswer() { return answer; } /** * 设置密保答案 * @param answer */ public void setAnswer(String answer) { this.answer = answer; } }
这里简单的介绍了数据库的增删查改等功能(这熟悉的名词是否也在哪里听过呢??O(∩_∩)O~),特别需要注意的是,我在更新数据方法中所标明的那一句注释,很多人经常搞乱了顺序而得不到正确的结果。
此外,还有几点:
一、一定要记得finally语句中所执行的内容,不管操作是否成功都一定要关闭连接,这一点非常重要。
二、最好将异常消息打印出来,这在初期编程的时候能够更加方便的帮你解决问题。
三、在使用完数据库之后将’sa’用户的密码策略改为强制过期,(这一点是出于信息安全的考虑),在每次使用前再取消密码强制过期,并修改密码,再执行jdbc操作,具体修改方法请见上面第四条。
四、Sql Server2000和2005的连接代码区别:(注意2000和2005的不同)
1. 连接SqlServer2000
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb";
2. 连接SqlServer2005
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";
五、可能出现的exception: com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll
解决办法:在sqljdbc_1.2.2828.100_chs.exe解压后的文件夹中找到Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\chs\auth\x86下的sqljdbc_auth.dll拷贝到:C:WINDOWSsystem32 目录下即可。
基本内容就到这里了,如果你使用的是MySQL,那也没关系,除了环境配置之外,只是驱动跟端口号需要修改罢了,快用数据库优化你的程序吧。
<!--EndFragment-->
相关推荐
本教程将详细讲解如何使用Java通过JDBC连接到SQL Server数据库。首先,我们需要了解JDBC的基本概念,然后逐步介绍实现这一过程所需的步骤。 1. JDBC基础: JDBC是Java API的一部分,它提供了一组接口和类,使得...
以上就是使用JDBC连接SQL Server 2005的基础步骤和注意事项。在实际开发中,可能还需要处理异常,使用连接池优化性能,以及实现事务管理等高级特性。理解并熟练掌握这些知识,将使你在Java数据库编程方面更加...
下面将详细阐述如何采用纯JDBC连接SQL Server数据库,并介绍相关的知识体系。 首先,要建立JDBC连接,你需要确保引入了SQL Server驱动的JAR包。SQL Server的JDBC驱动通常称为`mssql-jdbc.jar`,由Microsoft提供。除...
### JDBC 连接 SQL Server 2008 的详细步骤及注意事项 #### 一、前言 在数据库操作中,Java Database Connectivity (JDBC) 是一种用于执行 SQL 语句的 Java API,它可以为多种关系数据库提供统一访问,它由一组用 ...
使用JDBC连接Microsoft SQL Server数据库有两种方式: **方法一(使用jTDS驱动):** ```java // 加载jTDS驱动 Class.forName("net.sourceforge.jtds.jdbc.Driver"); // 连接数据库 Connection ...
Java Database Connectivity (JDBC) 是Java编程语言中用于规范客户端程序如何访问数据库的应用程序接口(API),它为开发者提供了一种标准的、面向对象的方式来访问和操作各种数据库系统,如MySQL、Oracle、SQL Server...
在Java编程中,连接SQL Server 2000数据库通常涉及到使用特定的驱动程序,以便Java应用程序能够与数据库进行通信。本篇文章将详细介绍如何在Java中建立与SQL Server 2000的连接,以及所需的驱动文件。 首先,Java ...
本文将详细介绍如何使用JDBC与不同的数据库进行连接,并提供一些实用的技巧和注意事项。 #### 二、JDBC基础知识 在深入讨论各种数据库的连接方式之前,我们先简要回顾一下JDBC的基本概念: - **JDBC驱动程序**:...
jdbc连接数据库的注意事项 使用jdbc连接MySQL数据库需要注意以下几点: * 配置文件的安全性:配置文件db.properties需要存储在安全的位置,以免泄露数据库连接信息 * 驱动程序的注册:需要正确注册MySQL数据库加载...
在Java编程环境中,如果需要连接到SQL Server 2000数据库,需要使用特定的驱动程序,即JDBC驱动(Java Database Connectivity)。这里提到的"sql2000的驱动jar包"就是指用于Java程序与SQL Server 2000通信的Java类库...
在Java编程中,连接SQL Server数据库通常涉及到JDBC(Java Database Connectivity)技术。JDBC是Java平台中的一个标准API,它允许Java程序与各种数据库进行交互。本篇将详细介绍如何在Java中链接SQL Server数据库,...
- **JDBC连接**:使用Java JDBC驱动程序连接到SQL Server数据库,执行增删改查操作。 - **Web应用集成**:在Java Web应用程序中集成SQL Server作为后端数据库,实现动态网页功能。 - **批量处理**:通过Java程序批量...
- **连接配置**:编写Java代码,设置数据库连接的URL(通常格式为`jdbc:sqlserver://servername:port;databaseName=dbname`)、用户名和密码。 - **建立连接**:通过`DriverManager.getConnection()`方法创建...
标题中的“mysql,sqlServer,oracle 驱动包 for java”指的是用于Java应用程序连接到MySQL、SQL Server和Oracle数据库的驱动程序包。这些驱动程序是Java编程语言中的JDBC(Java Database Connectivity)的一部分,...
根据提供的部分配置信息,我们可以详细探讨如何使用Java连接一个SQL Server数据库。 ##### 1. 加载驱动 首先,需要加载SQL Server的JDBC驱动。这通常通过`Class.forName()`方法完成,例如: ```java Class.forName...
2. **连接多样性**:由于SQL数据库有多种类型(如MySQL, PostgreSQL, SQL Server等),该工具可能支持多种数据库连接,通过ODBC(Open Database Connectivity)或JDBC(Java Database Connectivity)接口,允许用户...
JDBC提供了一个统一的接口,无论底层的数据库是Oracle、MySQL还是SQL Server等,都可以通过JDBC进行访问。通过JDBC,开发者可以执行SQL语句,创建、读取、更新和删除数据库中的数据。 2. **连接数据库的前提条件** ...
#### 使用JDBC时需要注意的事项 1. **驱动兼容性**:确保使用的JDBC驱动版本与数据库版本兼容。 2. **连接参数**:不同的数据库可能需要不同的连接参数,例如端口号、服务名等。 3. **安全性设置**:合理设置用户...
- JDBC可以看作是一个抽象层,它允许Java程序通过JDBC驱动程序连接到不同的数据库系统(如MySQL、Oracle、SQL Server等)。 - JDBC-ODBC桥接:早期的一种实现方式,通过JDBC-ODBC桥接器将JDBC调用转换为ODBC调用,...