《一个菜逼Android的J2EE的心酸路》JavaWeb之JDBC (一)

来源:互联网 发布:纳贝调试软件 编辑:程序博客网 时间:2024/05/18 03:29


新人学习javaweb,为了更好的学习,决定写一些笔记记录一下,同时也督促一下自己。


JDBC是什么?

JDBC是一种规范,它提供的接口,一套完整的,允许便携式访问底层数据库。可以用Java来写不同类型的可执行文件

JDBC的都能做哪些事情?

  • 连接到数据库

  • 创建SQL或MySQL语句

  • 执行SQL或MySQL的查询数据库

  • 查看和修改结果记录

JDBC架构:

JDBC API支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由两层组成:

  • JDBC API: 提供了应用程序对JDBC的管理连接。

  • JDBC Driver API: 支持JDBC管理到驱动器连接。

JDBC API的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。

JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。

以下是结构图,它显示了驱动程序管理器方面的JDBC驱动程序和Java应用程序的位置:


常见的JDBC组件:

  • DriverManager  字面上的意思 一个驱动的管理者 ,用来管理Driver

  • Driver  主要处理与数据库的通信

  • Connection  与数据库建议连接

  • Statement 可以使用这个接口创建的对象的SQL语句提交到数据库

  • ResultSet: Statement执行的结束返回在这里。

  • SQLException 这个类处理发生在一个数据库应用程序的任何错误。

简单的JDBC示例


根据以上的的内容我们对JDBC有了简单的了解,下面我们编些一个简单jdbc的例子

(在此之前你必须导入一下JDBC的包)

下面是一个简单的列子 和一个流程的介绍

这是一个最基本的JDBC例子

需要注意的是  释放资源的时候 一定要先从ResultSet  Statement  Connection依次关闭  (注意优先级)

当然这个例子还有很多不严谨的地方。

SQLException: 这个类处理发生在一个数据库应用程序的任何错误。

DriverManager  字面上的意思 一个驱动的管理者 ,用来管理Driver

然后我们再来终结一下使用JDBC的步骤


1.注册驱动(只注册一次)

2.建立连接(Connection)

3.创建执行SQL的语句(Statement)

4.执行SQL语句

5.处理执行结果(ResultSet)

6.释放资源


接下来你需要了解一下

 1. 注册jdbc驱动程序的三种方式

 2. 常用数据库 JDBC URL 格式


最后我们用规范的写法写一下



public class JdbcUtils {      //数据库用户名      private static final String USERNAME = "root";      //数据库密码      private static final String PASSWORD = "123456";      //驱动信息       private static final String DRIVER = "com.mysql.jdbc.Driver";      //数据库地址      private static final String URL = "jdbc:mysql://localhost:3306/mydb";      private Connection connection;      private PreparedStatement pstmt;      private ResultSet resultSet;      public JdbcUtils() {          // TODO Auto-generated constructor stub          try{              Class.forName(DRIVER);              System.out.println("数据库连接成功!");            }catch(Exception e){            }      }            /**      * 获得数据库的连接      * @return      */      public Connection getConnection(){          try {              connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);          } catch (SQLException e) {              // TODO Auto-generated catch block              e.printStackTrace();          }          return connection;      }     /**      * 释放数据库连接      */      public void releaseConn(){          if(resultSet != null){              try{                  resultSet.close();              }catch(SQLException e){                  e.printStackTrace();              }          }      }  }




1 0