首页 > 代码库 > JDBC连接sql server数据库的详细步骤和代码 转

JDBC连接sql server数据库的详细步骤和代码 转

JDBC连接sql server数据库的步骤如下:

 1、加载JDBC驱动程序(只做一次):       在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),       这通过java.lang.Class类的静态方法forName(String  className)实现。   成功加载后,会将Driver类的实例注册到DriverManager类中。    2、提供JDBC连接的URL      •连接URL定义了连接数据库时的协议、子协议、数据源标识。       •书写形式:协议:子协议:数据源标识       协议:在JDBC中总是以jdbc开始       子协议:是桥连接的驱动程序或是数据库管理系统名称。       数据源标识:标记找到数据库来源的地址与连接端口。      3、创建数据库的连接(Connection)       •要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,        该对象就代表一个数据库的连接。       •使用DriverManager的getConnectin(String url , String username ,        String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和        密码来获得。 4、创建一个Statement       •要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3       种类型:         1、执行静态SQL语句。通常通过Statement实例实现。         2、执行动态SQL语句。通常通过PreparedStatement实例实现。         3、执行数据库存储过程。通常通过CallableStatement实例实现。       具体的实现方式:           Statement stmt = con.createStatement() ;          PreparedStatement pstmt = con.prepareStatement(sql) ;          CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;    5、执行SQL语句       Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate      和execute       1、ResultSet executeQuery():执行查询数据库的SQL语句           ,返回一个结果集(ResultSet)对象。        2、int executeUpdate():用于执行INSERT、UPDATE或           DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等        3、execute():用于执行返回多个结果集、多个更新计数或二者组合的           语句。      具体实现的代码:             ResultSet rs = pstmt.executeQuery() ;             int rows = pstmt.executeUpdate() ;             boolean flag = pstmt.execute() ;    6、处理结果       两种情况:        1、执行更新返回的是本次操作影响到的记录数。        2、执行查询返回的结果是一个ResultSet对象。       • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些         行中数据的访问。       • 使用结果集(ResultSet)对象的访问方法获取数据:        while(rs.next()){            String name = rs.getString("name") ;            String pass = rs.getString(1) ;     }     7、关闭JDBC对象         操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声        明顺序相反:        1、关闭记录集        2、关闭声明        3、关闭连接对象  
注意:一定不能忘记关闭jdbc对象
     数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,
     如果Connection不能及时正确的关闭将导致系统宕机。
   Connection的使用原则是尽量晚创建,尽量早的释放。

 
JDBC连接sql server数据库代码:

package com.accp.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.apache.log4j.Logger;public class BaseDao {	// 使用log4j记录日志	private static Logger logger = Logger.getLogger(BaseDao.class);	// 连接驱动	private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";	// 连接路径	private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=MySchool";	// 用户名	private static final String USERNAME = "sa";	// 密码	private static final String PASSWORD = "sa";		//静态代码块	static {		try {			// 加载驱动			Class.forName(DRIVER);		} catch (ClassNotFoundException e) {			e.printStackTrace();		}	}	/*	 * 获取数据库连接	 */	public Connection getConnection() {		Connection conn = null;		logger.debug("开始连接数据库");		try{			conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);		}catch(SQLException e){			e.printStackTrace();			logger.error("数据库连接失败!");		}		logger.debug("数据库连接成功");		return conn;	}	/*	 * 关闭数据库连接,注意关闭的顺序	 */	public void close(ResultSet rs, PreparedStatement ps, Connection conn) {		if(rs!=null){			try{				rs.close();				rs=null;			}catch(SQLException e){				e.printStackTrace();				logger.error("关闭ResultSet失败");			}		}		if(ps!=null){			try{				ps.close();				ps=null;			}catch(SQLException e){				e.printStackTrace();				logger.error("关闭PreparedStatement失败");			}		}		if(conn!=null){			try{				conn.close();				conn=null;			}catch(SQLException e){				e.printStackTrace();				logger.error("关闭Connection失败");			}		}	}}

     转载地址:http://blog.csdn.net/qy1387/article/details/7944133

    挺喜欢作者第一段的对jdbc连接的详细的讲解,之前会用,但是不太清楚具体的原理,缺少理论的讲解,万分感谢!!

 

JDBC连接sql server数据库的详细步骤和代码 转