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

  1. 1、加载JDBC驱动程序(只做一次):
  2. 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVMJava虚拟机),
  3. 这通过java.lang.Class类的静态方法forName(String className)实现。
  4. 成功加载后,会将Driver类的实例注册到DriverManager类中。
  5. 2、提供JDBC连接的URL
  6. •连接URL定义了连接数据库时的协议、子协议、数据源标识。
  7. •书写形式:协议:子协议:数据源标识
  8. 协议:在JDBC中总是以jdbc开始
  9. 子协议:是桥连接的驱动程序或是数据库管理系统名称。
  10. 数据源标识:标记找到数据库来源的地址与连接端口。
  11. 3、创建数据库的连接(Connection
  12. •要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
  13. 该对象就代表一个数据库的连接。
  14. •使用DriverManagergetConnectin(String url , String username ,
  15. String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
  16. 密码来获得。
  17. 4、创建一个Statement
  18. •要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
  19. 种类型:
  20. 1、执行静态SQL语句。通常通过Statement实例实现。
  21. 2、执行动态SQL语句。通常通过PreparedStatement实例实现。
  22. 3、执行数据库存储过程。通常通过CallableStatement实例实现。
  23. 具体的实现方式:
  24. Statement stmt = con.createStatement() ;
  25. PreparedStatement pstmt = con.prepareStatement(sql) ;
  26. CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
  27. 5、执行SQL语句
  28. Statement接口提供了三种执行SQL语句的方法:executeQuery executeUpdate
  29. execute
  30. 1ResultSet executeQuery():执行查询数据库的SQL语句
  31. ,返回一个结果集(ResultSet)对象。
  32. 2int executeUpdate():用于执行INSERTUPDATE
  33. DELETE语句以及SQL DDL语句,如:CREATE TABLEDROP TABLE
  34. 3execute():用于执行返回多个结果集、多个更新计数或二者组合的
  35. 语句。
  36. 具体实现的代码:
  37. ResultSet rs = pstmt.executeQuery() ;
  38. int rows = pstmt.executeUpdate() ;
  39. boolean flag = pstmt.execute() ;
  40. 6、处理结果
  41. 两种情况:
  42. 1、执行更新返回的是本次操作影响到的记录数。
  43. 2、执行查询返回的结果是一个ResultSet对象。
  44. ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
  45. 行中数据的访问。
  46. 使用结果集(ResultSet)对象的访问方法获取数据:
  47. while(rs.next()){
  48. String name = rs.getString("name") ;
  49. String pass = rs.getString(1) ;
  50. }
  51. 7、关闭JDBC对象
  52. 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
  53. 明顺序相反:
  54. 1、关闭记录集
  55. 2、关闭声明
  56. 3、关闭连接对象

  57. 注意:一定不能忘记关闭jdbc对象
     数据库连接(Connection)是非常稀有的资源,用完后必须马上释放,
     如果Connection不能及时正确的关闭将导致系统宕机。
   Connection的使用原则是尽量晚创建,尽量早的释放。

JDBC连接sql server数据库代码:

  1. package com.accp.jdbc;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.PreparedStatement;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8.  
  9. import org.apache.log4j.Logger;
  10.  
  11. public class BaseDao {
  12. // 使用log4j记录日志
  13. private static Logger logger = Logger.getLogger(BaseDao.class);
  14. // 连接驱动
  15. private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  16. // 连接路径
  17. private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=MySchool";
  18. // 用户名
  19. private static final String USERNAME = "sa";
  20. // 密码
  21. private static final String PASSWORD = "sa";
  22.  
  23. //静态代码块
  24. static {
  25. try {
  26. // 加载驱动
  27. Class.forName(DRIVER);
  28. } catch (ClassNotFoundException e) {
  29. e.printStackTrace();
  30. }
  31. }
  32.  
  33. /*
  34. * 获取数据库连接
  35. */
  36. public Connection getConnection() {
  37. Connection conn = null;
  38. logger.debug("开始连接数据库");
  39. try{
  40. conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);
  41. }catch(SQLException e){
  42. e.printStackTrace();
  43. logger.error("数据库连接失败!");
  44. }
  45. logger.debug("数据库连接成功");
  46. return conn;
  47. }
  48.  
  49. /*
  50. * 关闭数据库连接,注意关闭的顺序
  51. */
  52. public void close(ResultSet rs, PreparedStatement ps, Connection conn) {
  53. if(rs!=null){
  54. try{
  55. rs.close();
  56. rs=null;
  57. }catch(SQLException e){
  58. e.printStackTrace();
  59. logger.error("关闭ResultSet失败");
  60. }
  61. }
  62. if(ps!=null){
  63. try{
  64. ps.close();
  65. ps=null;
  66. }catch(SQLException e){
  67. e.printStackTrace();
  68. logger.error("关闭PreparedStatement失败");
  69. }
  70. }
  71. if(conn!=null){
  72. try{
  73. conn.close();
  74. conn=null;
  75. }catch(SQLException e){
  76. e.printStackTrace();
  77. logger.error("关闭Connection失败");
  78. }
  79. }
  80. }
  81. }

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

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

JDBC连接sql server数据库的详细步骤和代码 转的更多相关文章

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

    JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...

  2. C#连接SQL SERVER数据库的详细步骤!

      首先,在SQL SEVER里建立一个名为“Exercise”的数据库名,在该数据库下建立一张名为“lianxi”的表.好,现在开始写代码. 在FORM1里拖一个DATAGIRDVIEW用于显示表, ...

  3. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

  4. Java使用JDBC连接SQL Server数据库

    Java使用JDBC连接SQL Server数据库 1.下载驱动 1.下载Microsoft SQL Server JDBC 驱动程序 https://docs.microsoft.com/zh-cn ...

  5. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

  6. 编写Java程序,使用JDBC连接SQL Server数据库

    返回本章节 返回作业目录 需求说明: 使用JDBC连接SQL Server数据库 SQL Server数据库位于192.168.2.101. 所需连接的数据库为eshop_db,用户名为test,密码 ...

  7. JDBC连接SQL Server数据库

    测试环境 数据库:SQL Server 2008 R2,创建数据库名:TestDemo,表:User,字段如下:   字段 字段 id UName UPass sqljdbc.jar下载地址:依赖的J ...

  8. JDBC连接sql server数据库操作

    1.首先,先创建一个连接数据库的工具类: package gu.db.util; import java.sql.Connection; import java.sql.DriverManager; ...

  9. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

随机推荐

  1. Learn Python the hard way, ex42 物以类聚

    依然少打很多剧情,并修改了很多,还好,能运行 #!urs/bin/python #coding:utf-8 from sys import exit from random import randin ...

  2. 应用安全-Web安全-SSRF攻防

    原理 服务器: IP:.XX.191.14 nc -l -p 客户端: http://xx.map.xx.com/maps/services/thumbnails?width=215&heig ...

  3. Prometheus + AlertManager 邮件报警

    安装 wget https://github.com/prometheus/alertmanager/releases/download/v0.13.0/alertmanager-0.13.0.lin ...

  4. xmake v2.1.9版本发布,增加可视化图形菜单配置

    此版本主要增加xmake f --menu实现用户自定义图形菜单配置,界面风格类似linux的make menuconfig: [图片上传失败-(image-505bc0-1517795319124) ...

  5. [19/05/19-星期日] CSS_css的声明和选择器

    一.引言 HTML的作用是负责数据的格式展示,如果使用它来搞数据的样式,则发现样式书写出来太麻烦,不易于维护: HTML可以有效组织数据的展示,但是不同类型数据在浏览器中的分布没有办法展示. HTML ...

  6. JDK11 | 第三篇 : 局部变量类型推断

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/PB0Mw4bzjDML7nto2M8x2w 一.简介 Java局部变量类型推断(LVTI) ...

  7. require 和 import 详解

    前言 JS模块化编程是前端小伙伴们必不可少的知识,下面妹子将于自认为比较清晰的方式列举出来. 1 require 特点: 1.运行时加载 2.拷贝到本页面 3.全部引入 1.1 CommonJS No ...

  8. python 搜索路径顺序查找

    但我们通过 import 或者frome .. import...查找模块的时候,当你导入一个模块,Python 解析器对模块位置的搜索顺序是 1.当前目录 2, 如果不在当前目录,Python 则搜 ...

  9. spark复习笔记(6):RDD持久化

    在spark中最重要的功能之一是跨操作在内存中持久化数据集.当你持久化一个RDD的时候,每个节点都存放了一个它在内存中计算的一个分区,并在该数据集的其他操作中进行重用,持久化一个RDD的时候,节点上的 ...

  10. IO流详解及测试代码

    IO流 (1)IO用于在设备间进行数据传输的操作 (2)分类:    A:流向       输入流 读取数据      输出流 写出数据   B:数据类型     字节流         字节输入流  ...