原创

Java 操作 SQL Server 数据库

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。


1、下载JDBC,地址为:www.microsoft.com/zh-cn/download/details.aspx?id=21599


2、解压之后存在两个jar包分为为sqljdbc.jar和sqljdbc4.jar,本文采用sqljdbc4.jar


3、配置sa身份验证,由于安装时sqlServer2008是以windows身份验证安装的因此要添加用户,具体步骤如下操作:

(1)打开Microsoft SQL Server Managerment Studio并以windows验证方式登录,左侧的对象资源管理器->安全性->登录名,右击sa->属性,为sa用户添加密码,选择sqlServer身份验证,在"状态"选项中授予连接到数据库和登录启用.

(2)右击对象资源管理器的根节点,选择属性->安全性->sqlServer和windows身份验证模式,这样就为sql server 2008创建了以sql server身份验证的用户sa.


工具类,代码如下:

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * www.yoodb.com
 */
public class DatabaseConn {

	private Connection conn;
	private String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname";
	private String classforname = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
	private String username = "sa";
	private String password = "password";

	public DatabaseConn() {
	}

	public Connection getConnection() {
		try {
			Class.forName(classforname);
			if (conn == null || conn.isClosed())
				conn = DriverManager.getConnection(url, username, password);
		} catch (ClassNotFoundException ex) {
			ex.printStackTrace();
		} catch (SQLException ex) {
			ex.printStackTrace();
		}
		return conn;
	}

}

请将localhost和1433改成你实际应用中的SQL Server服务器地址和端口号,dbname改成你实际的数据库名


测试类,代码如下:

package com.test;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * www.yoodb.com
 */
public class Test {
	public static void main(String[] args){
		Connection con = null;
		Statement stmt = null;    
ResultSet rs = null;
		try {
			String sql = "select * from test";
			con = new DatabaseConn().getConnection();
			stmt = con.createStatement();
	rs = stmt.executeQuery(sql);
	while (rs.next()) {    
	    System.out.println(rs.getString(2) + "-->" + rs.getString(3));    
	} 
		}catch (Exception e) {    
    e.printStackTrace();    
}finally {    
    if (rs != null)    
try {    
    rs.close();    
} catch (Exception e) {    
}    
    if (stmt != null)    
try {    
    stmt.close();    
} catch (Exception e) {    
}    
    if (con != null)    
try {    
    con.close();    
} catch (Exception e) {    
}    
}
	}
	
}


~阅读全文-人机检测~

微信公众号“Java精选”(w_z90110),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信