java数据库编程入门

一、JDBC概述

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

2、JDBC模型

JAVA程序一般通过调用JDBC所定义的类和接口来处理数据库中的数据,也就是通过调用JDBC的驱动程序实现对数据库的操作。

 3、JDBC操作数据库过程

基于JDBC的数据库程序设计方法通过三步组成。

(1)首先是连接数据库

(2)然后是执行SQLStructure Query Language,结构化查询语言)语句并处理查询结果.。

通过执行SQL语句可以处理数据库数据,比如对数据库中的记录进行添加、删除、修改等操作,或者查询满足某种条件的数据等。

(3)最后是关闭连接

二、JDBC四种驱动方式

1、JDBC-ODBC桥加ODBC驱动程序

JDBC-ODBC桥产品利用ODBC驱动程序提供JDBC访问。在服务器上必须可以安装ODBC驱动程序。JDBC-ODBC桥是一个JDBC驱动程序,它通过将JDBC操作转换为ODBC操作来实现JDBC操作。

2、本地API结合Java驱动程序

本地 API Java 驱动程序通过 JDBC 驱动程序将应用程序中的调用请求转化为本地 API 调用,由本地 API 与数据库通信,数据库处理完请求将结果通过本地 API 返回,进而返回给 JDBC 驱动程序, JDBC 驱动程序将返回的结果转化为 JDBC 标准形式,再返回给客户程序。

 

3、网络纯Java驱动程序

这种驱动程序将 JDBC 转换为与 DBMS 无关的网络协议,之后这种协议又被某个服务器转换为一种 DBMS 协议 。

 4、本地协议纯Java驱动程序

驱动程序将 JDBC 调用直接转换为 DBMS 所使用的网络协议。这种驱动与数据库建立直接的套接字连接,采用具体数据库厂商的网络协议把 JDBC API 调用转换为直接网络调用,也就是允许从客户机机器上直接调用 DBMS 服务器,是 Intranet 访问的一个很实用的解决方法。
建议尽可能地使用纯 Java JDBC 驱动程序代替桥和 ODBC 驱动程序,这可以完全省去 ODBC 所需的客户机配置,也免除了被其它插件错误影响数据库连接的可能性。

三、JDBC常用API

JDBC 向应用程序开发者提供独立于某种数据库的统一的APIJDBC API是一系列抽象的接口,它使得应用程序员能够进行数据库连接,执行SQL 声明,并且返回结果。

JDBC 的 API 中,我们只需要关注下面几个类即可。

(1)数据源(javax.sql.DataSource

 (2)数据库连接(java.sql.Connection

 (3)SQL语句执行器(java.sql.Statement

  (4)SQL 查询结果集(java.sql.ResultSet

四、JDBC实例
1、安装mysql服务:MySQL 5.7.27详细下载安装配置教程_ZZZhonngger的博客-CSDN博客_mysql5.7下载安装教程

2、在mysql客户端(本人使用的Navicat)配置连接,主要是数据库名、用户名、密码

3、新建student表

 4、下载JDBC驱动,后面要用,下载链接:

mysql-connector-java-8.0.15-bin.jar_少年无为的博客-CSDN博客_mysql-connector-java-8.0.15.jar

5、在IDEA新建项目,把下载的JDBC解压,将里面的mysql-connector-java-8.0.15.jar添加进项目

 

 

5、编写java主程序

public class testJDBC {
    public static void main(String[] args)throws Exception{
        String URL = "jdbc:mysql://localhost:3306/database?useSSL=false&useUnicode=true&characterEncoding=UTF-8";
        String USER = "root";
        String PASSWORD = "psw123";
        String sql ="insert into student(id,name,birthday,Email) values ('1','张三','1990/10/1','zs@163.com')";
        String sql2 ="select * from student where name='张三'";
        try{
            Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
            Connection conn=DriverManager.getConnection(URL,USER,PASSWORD);//创建数据库连接
            Statement stmt=conn.createStatement();//创建Statement对象
            boolean result=stmt.execute(sql);//执行sql
            ResultSet rs=stmt.executeQuery(sql2);//执行查询sql
            while (rs.next()) {//遍历查询结果集
                String id = rs.getString("id");
                String name = rs.getString("name");
                String birthday = rs.getString("birthday");
                String Email = rs.getString("Email");
                System.out.println("编号:"+id+"\t姓名:"+name+"\t出生年月:"+birthday+"\t邮箱:"+Email);
            }
            rs.close();
            stmt.close();
            conn.close();
        }
        catch(ClassNotFoundException e){
            System.out.println("找不到指定的驱动程序类!");
        }
        catch(SQLException e){
            e.printStackTrace();
        }
    }
}

结果:

 

 参考链接:

1、源码详解系列(二) -- jdbc-mysql的使用和分析 - 子月生 - 博客园

2、JDBC连接数据库7个步骤_区块链之美的博客-CSDN博客_使用jdbc连接数据库的步骤