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. JDBC 国际标准时间

    mysql.driver=com.mysql.cj.jdbc.Drivermysql.url=jdbc:mysql://localhost:3306/XXXX?characterEncoding=UT ...

  2. JAVA AOP面向切面编程与动态代理

    1.静态代理和动态代理的概念:   在我的另一篇博文:Java 静态代理和动态代理 中有讲到,这里就不做赘述了. JDK动态代理它的好处理是可以为我们生成任何一个接口的代理类,并将需要增强的方法织入到 ...

  3. linux下安装nginx(nginx(nginx-1.8.0.tar.gz),openssl(openssl-fips-2.0.9.tar.gz) ,zlib(zlib-1.2.11.tar.gz),pcre(pcre-8.39.tar.gz))

    :要按顺序安装: 1:先检查是否安装 gcc ,没有先安装:通过yum install gcc-c++完成安 2:openssl : tar -zxf  openssl-fips-2.0.9.tar. ...

  4. vue 组件传参

    路由配好了 再传个参呗 注:组件信息流转的时候只能单向1 > 父子传参传参:通过属性prop:传递数据 a.父组件传参给子组件 子组件: <ul> <li v-for=&quo ...

  5. Ubuntu操作系统的总结操作

    一.Ubuntu系统环境变量 Ubuntu Linux系统环境变量配置文件分为两种:系统级文件和用户级文件 1.系统级文件: /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件 ...

  6. 13 (H5*) JS第三天 数组、函数

    目录 1:数组的定义和创建方式 2:数组的总结 3:for循环遍历数组 4:数组的案例 5:冒泡排序 6:函数的定义 7:函数的参数 8:函数的返回值 复习 <script> /* * * ...

  7. 编写 Chrome 扩展——contextMenus 的快捷创建

    1 写在前面 最近使用 typescript 与 angular 编写 chrome 扩展, 对繁复的 contextMenus 创建步骤进行了提炼,并总结一个类 2 重构思路 2.1 一般方法 在编 ...

  8. SpringBoot使用RestTemplate 摘要认证

    SpringBoot使用RestTempate SpringBoot使用RestTemplate摘要认证 SpringBoot使用RestTemplate基础认证 SpringBoot使用RestTe ...

  9. QToolButton设置icon的大小

    项目中用到了QToolButton上使用图片. 如果在maindow中直接使用QToolButton,如: btnSimulate = new QToolButton; btnSimulate-> ...

  10. Linux查看当前目录下所有文件中包含map的行记录

    find yaochi_e.prm |xargs grep -ri "map" grep -n "map" *.prm|grep -v "\-\-ma ...