JDBC一般流程及优化过程

import  java.sql.Connection;
import  java.sql.DriverManager;
import  java.sql.ResultSet;
import  java.sql.SQLException;
import  java.sql.Statement;
public  class  Base {
     
    /**
      * @param args
      * @throws Exception
      */
     public  static  void  main(String[] args)  throws  Exception {
         template(); 
 
     }
     static  void  template()  throws  SQLException, ClassNotFoundException {
         // 1.注册驱动
         //DriverManager.registerDriver(new com.mysql.jdbc.Driver());
         //System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");
         Class.forName( "com.mysql.jdbc.Driver" ); // 推荐方式
 
         // 2.建立连接
         String url =  "jdbc:mysql://localhost:3306/jdbc" ;
         String user =  "root" ;
         String password =  "123456" ;
         Connection conn = DriverManager.getConnection(url, user, password);
 
         // 3.创建语句
         Statement st = conn.createStatement();
 
         // 4.执行语句
         ResultSet rs = st.executeQuery( "select * from user" );
 
         // 5.处理结果
         while  (rs.next()) {
             System.out.println(rs.getObject( 1 ) +  "\t"  + rs.getObject( 2 ) +  "\t"
                     + rs.getObject( 3 ) +  "\t"  + rs.getObject( 4 ));
         }
 
         // 6.释放资源
         rs.close();
         st.close();
         conn.close();
     }
}

 

由上面的代码可知:JDBC一般的处理过程分为六个步骤

  1. 注册驱动

  2. 建立连接

  3. 创建语句

  4. 执行语句

  5. 处理结果

  6. 释放资源

 

上面的代码不够严谨,需要优化。

优化后的代码如下:抽出可重复性使用的代码工具类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public  final  class  JdbcUtils {
     private  static  String url =  "jdbc:mysql://localhost:3306/jdbc" ;
     private  static  String user =  "root" ;
     private  static  String password =  "123456" ;
 
     private  JdbcUtils() {
     }
         //JVM加载类时就进行驱动注册
     static  {
         try  {
             Class.forName( "com.mysql.jdbc.Driver" );
         catch  (ClassNotFoundException e) {
             throw  new  ExceptionInInitializerError(e);
         }
     }
 
     public  static  Connection getConnection()  throws  SQLException {
         return  DriverManager.getConnection(url, user, password);
     }
 
     public  static  void  free(ResultSet rs, Statement st, Connection conn) {
         try  {
             if  (rs !=  null )
                 rs.close();
         catch  (SQLException e) {
             e.printStackTrace();
         finally  {
             try  {
                 if  (st !=  null )
                     st.close();
             catch  (SQLException e) {
                 e.printStackTrace();
             finally  {
                 if  (conn !=  null )
                     try  {
                         conn.close();
                     catch  (SQLException e) {
                         e.printStackTrace();
                     }
             }
         }
     }
}

 

优化模板代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public  class  Base {
 
     /**
      * @param args
      * @throws Exception
      */
     public  static  void  main(String[] args)  throws  Exception {
         template(); 
 
     }
 
     static  void  template()  throws  Exception {
         Connection conn =  null ;
         Statement st =  null ;
         ResultSet rs =  null ;
         try  {
             // 2.建立连接
             conn = JdbcUtils.getConnection();
             // conn = JdbcUtilsSing.getInstance().getConnection();
             // 3.创建语句
             st = conn.createStatement();
 
             // 4.执行语句
             rs = st.executeQuery( "select * from user" );
 
             // 5.处理结果
             while  (rs.next()) {
                 // 参数中的1,2,3,4是指sql中的列索引
                 System.out.println(rs.getObject( 1 ) +  "\t"  + rs.getObject( 2 )
                         "\t"  + rs.getObject( 3 ) +  "\t"  + rs.getObject( 4 ));
             }
         finally  {
             JdbcUtils.free(rs, st, conn);
         }
 
     }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sqljdbc4 是 Java 连接 SQL Server 数据库的全新驱动包。它是由微软公司提供的一个用于连接 SQL Server 数据库JDBC 驱动程序。CSND 则是 CSDN(中国最大的 IT 技术社区)上关于 sqljdbc4 的一个专题页面。 sqljdbc4 这个驱动包主要用于在 Java 应用程序中连接和操作 SQL Server 数据库。它提供了一组丰富的 API,开发人员可以通过这些 API 来实现与数据库的交互。使用 sqljdbc4,开发人员可以通过 Java 代码来连接数据库、执行 SQL 语句、获取查询结果等操作。 CSND 上的 sqljdbc4 专题页面则为开发人员提供了一系列与 sqljdbc4 相关的技术文章、教程、文档和示例代码。这些资源可以帮助开发人员快速入门 sqljdbc4,了解如何使用它来连接和操作 SQL Server 数据库。 在 CSND 的 sqljdbc4 专题页面上,开发人员可以找到一些介绍 sqljdbc4 的基础知识的文章,例如如何下载和安装 sqljdbc4,如何配置和初始化 JDBC 连接等。同时,还可以学习如何使用 sqljdbc4 执行增删改查等操作,以及如何处理事务、异常和性能优化等方面的内容。 总之,sqljdbc4 是连接 SQL Server 数据库JDBC 驱动程序,而 CSND 则是一个技术社区平台,提供了关于 sqljdbc4 的丰富的技术资源和帮助文档,方便开发人员学习和使用 sqljdbc4 进行数据库开发。 ### 回答2: sqljdbc4是一个用于连接Java应用程序和SQL Server数据库的驱动程序。csdn是一个中文IT技术社区,其中包含了大量的技术博客、论坛和资源分享等内容。 SQL Server是一种关系型数据库管理系统,它允许用户存储、操作和检索数据。而Java是一种面向对象的编程语言,常用于开发Web应用和企业级应用。 sqljdbc4是连接Java应用程序和SQL Server数据库的驱动程序之一。通过该驱动程序,Java开发人员可以使用Java代码连接到SQL Server数据库,并执行各种数据库操作,如插入、更新、删除、查询等。 csdn作为一个IT技术社区,提供了大量的技术资源和知识分享。在csdn上,开发人员可以找到各种与sqljdbc4相关的教程、代码示例和问题解答等。通过参与csdn的讨论和交流,开发人员可以更好地了解如何使用sqljdbc4驱动程序来连接到SQL Server数据库,并解决在开发过程中遇到的问题。 总的来说,sqljdbc4和csdn都是与连接Java应用程序和SQL Server数据库相关的资源。sqljdbc4提供了连接和操作SQL Server数据库的驱动程序,而csdn为开发人员提供了技术资源和知识分享平台,帮助开发人员更好地了解和使用sqljdbc4驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值