JavaApi高级编程(六)JDBC主要接口以及数据库连接的操作步骤

简介: JavaApi高级编程(六)JDBC主要接口以及数据库连接的操作步骤

一、JDBC概述


1、JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力

2、JDBC(Java Data Base Connectivity,Java数据库连接),由一些接口和类构成的API。

3它讲数据库访问封装在少数几个方法内,使用户可以极其方便地查询数据库、插入新的数据、更改数据。

3、J2SE的一部分,由java.sql包组成。


二、了解JDBC的主要接口


第一点:主要接口:

java.sql.DriverManager    //用于驱动程序的调入
java.sql.Connection    //与特定数据库建立连接
java.sql.Statement    //用于SQL语句的执行,包括查询语句、更新语句、创建数据库语句等
java.sql.ResultSet    //用于保存查询所得的结果

第二点:JDBC API可做三件事:与数据库建立连接、执行SQL 语句、处理结果

       1、DriverManager :依据数据库的不同,管理JDBC驱动  


       2、Connection :负责连接数据库并担任传送数据的任务  


       3、 Statement :由 Connection 产生、负责执行SQL语句  


       4、 ResultSet:负责保存Statement执行后所产生的查询结果


三、JDBC操作步骤及数据库的连接


第一步:注册驱动(只做一次)


第二步:建立连接(Connection)


第三步:创建执行SQL的语句(Statement)


第四步:执行语句


第五步:处理执行结果(ResultSet)


第六步:释放资源

示例:快速起步

Class.forName(“com.mysql.jdbc.Driver”);
//推荐这种方式,不会对具体的驱动类产生依赖。
DriverManager.registerDriver(com.mysql.jdbc.Driver);
//会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。
System.setProperty(“jdbc.driver”,“driver1:driver2”);
//虽然不会对具体的驱动类产生依赖;但注册不太方便,所以很少使用。
驱动类型(四种类型)

建立连接(Connection)

Connection conn=DriverManager. getConnection(url,user,password);

url格式:

JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&……

user表示用户名称,一般mysql默认为“root”

password表示用户密码,在安装过程中用户设置的数据库密码。

conn表示链接变量,连接成功后,将返回一个Connection对象,以后所有对数据库的操作都可以使用这个对象来进行。

创建执行SQL的语句(Statement)

Statement st = conn.createStatement();
//要对链接的数据库进行查询、更改或添加数据,可通过创建SQL语句。St表示SQL语句的变量。

处理执行结果(ResultSet)

ResultSet rs = statement.executeQuery(sql);
While(rs.next()){
  rs.getString(“col_name”);
  rs.getInt(“col_name”);
  //…}
//ResultSet对象以类似表中记录的组织方式来组织查询到得结果,表中包含了由SQL返回的列名和相应的
//值。通过getString();getObject();getInt()等得到当前记录的各列的值。

释放资源

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


四、ResultSet接口Statement接口和ResultSet接口


1、获取Connection对象后就可以进行各种数据库操作了,此时需要使用Connection对象创建Statement对象。  


2、Statement 对象用于将SQL语句发送到数据库中,或者理解为执行SQL语句。


3、Statement接口中包含很多基本数据库操作方法,下面介绍执行SQL命令的三个方法:


4、ResultSet executeQuery(String sql):可以执行SQL查询并获取ResultSet对象;


5、Int executeUpdate( String sql ):可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数;


6、Boolean execute( String sql ):这是一个最为一般的执行方法,可以执行任意SQL语句,然后获得一个布尔值,表示是否返回RestultSet。

ResultSet接口常用方法及作用:


五、PreparedStatement的使用


1、使用statement查询数据库时,每次执行查询时都需要将SQL语句传递给数据库,并重新解析执行,当多次执行同一查询时,就会影响效率。


2、为了提高查询效率,可以使用PreparedStatement接口,该接口将对SQL语句进行预编译,以后执行相同的语句时,就可以执行编译好的语句,从而提高查询效率。


3、PreparedStatement 接口继承 Statement接口


4、PreparedStatement比普通的Statement对象使用起来更加灵活,更有效率


六、JDSC代码优化及


public class DBHelper {
  private static String cname = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  private static String url = "jdbc:sqlserver://localhost:1433;DatabaseName=T277";
  private static String user = "sa";
  private static String upwd = "1122";
  //静态代码块-加载类时,自动执行
  static {
    try {
    Class.forName(cname);
    } catch (Exception e) {
    e.printStackTrace();
    }
  }
  //方法一:连接数据库
  public static Connection getCon() {
    Connection con = null;
    try {
    con = DriverManager.getConnection(url, user, upwd);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return con;
  }
  //方法二:关闭连接
  public static void closeDb(Connection con,PreparedStatement ps,ResultSet rs) {
    try {
    if(con!=null) {
      con.close();
    }
    if(ps!=null) {
      ps.close();
    }
    if(rs!=null) {
      rs.close();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
  }
}
相关文章
|
3月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
328 3
|
2月前
|
SQL Oracle 关系型数据库
PLSQL还原DMP数据库的详细步骤
PLSQL还原DMP数据库的详细步骤
91 6
|
15天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
2月前
|
存储 缓存 网络安全
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
43 1
|
2月前
|
SQL Java 数据库连接
数据库常用接口
ODBC(Open Database Connectivity):开放数据库互连技术为访问不同的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。这一接口提供了最大限度的互操作性,一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是Access,MySQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
139 3
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
146 2
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
205 2
|
3月前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库