您的位置:首页 > 编程语言 > Java开发

java入门--java连接SQLServer数据库

2015-11-18 14:27 399 查看
一个项目需要手动写一个SQLServer连接,记录一下中间出现的问题,留作参考

数据库JDBC连接代码:

package savelog.youxinpai.com;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import java.sql.Connection;

/**
* @author zhangzuoqian
*/
public class DBConnection {

private Connection dbConn = null;
private Statement stmt=null;
private ResultSet rs=null;

/*加载数据库驱动*/
private Connection getconnection(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dbConn = DriverManager.getConnection(Global.dbURL, Global.userName, Global.userPwd);
} catch (Exception e) {
e.printStackTrace();
}
return dbConn;
}

/*获得Statement对象*/
private Statement getstatement(){
try {
stmt=getconnection().createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}

/*获得ResultSet对象*/
private ResultSet getResultSet(String sql){
try {
rs =getstatement().executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}

/*关闭连接*/
private void close() {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (dbConn != null)
dbConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}

/*将数据库中的Vin码写入到内存的HashMap中*/
public static void putVinMap(){
DBConnection db=new DBConnection();
ResultSet result=db.getResultSet("SELECT [VIN码],[车辆id],[车辆编号],[车型] FROM vw_Vehicle");
try {
Global.vinList.clear();
while(result.next()){
/*由于列名是中文,所以重新封装*/
Map<String, String> tempMap=new HashMap<String, String>();
tempMap.put("vinCode", result.getString(1));
tempMap.put("carId", result.getString(2));
tempMap.put("carNum", result.getString(3));
tempMap.put("carType", result.getString(4));
Global.vinList.add(tempMap);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
db.close();
}
}

public static void main(String args[]){
DBConnection.putVinMap();
}

}


其中需要注意的点如下:
1.SQLServer连接jar包下载地址:http://pan.baidu.com/s/1i3i311V

2.需要BuildPath到项目中,并且需要在web-inf/lib中复制一份。

如果仅仅在buildpath中配置jar包,会造成一个奇怪的现象,即:如果使用main函数java application的方式启动数据库连接,是可以正常连接的。但是当使用Servlet调用时,会出现无法加载类的异常。理论支持还没有来得及处理,先记录一下。

3.SQLServer的驱动语句是区别版本的,本文使用的是2008版本:

com.microsoft.sqlserver.jdbc.SQLServerDriver
与2005版本有一些区别,同样会造成驱动无法加载的异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息