原创

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),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信