java数据库编程入门

java数据库编程入门一 JDBC 概述 1 JDBC 是 Java 数据库连接技术的简称 提供连接各种常用数据库的能力 2 JDBC 模型 JAVA 程序一般通过调用 JDBC 所定义的类和接口来处理数据库中的数据 也就是通过调用 JDBC 的驱动程序实现对数据库的操作 3 JDBC 操作数据库过程基于 JDBC 的数据库程序设计方法通过三步组成 1 首先是连接数据库 2 然后是执行 SQL StructureQue 结构化查询语言 语句并处理查询结果 通过执行 SQL 语句可以处理数据库数

一、JDBC概述

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

java数据库编程入门

2、JDBC模型

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

java数据库编程入门

 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操作。

java数据库编程入门

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

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

java数据库编程入门

 

3、网络纯Java驱动程序

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

java数据库编程入门

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

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

java数据库编程入门

三、JDBC常用API

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

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

java数据库编程入门

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

java数据库编程入门

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

java数据库编程入门

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

java数据库编程入门

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

java数据库编程入门

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

3、新建student表

java数据库编程入门

 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添加进项目

java数据库编程入门

 

java数据库编程入门

 

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','')"; 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(); } } } 

结果:

java数据库编程入门

 

 参考链接:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211501.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:16
下一篇 2026年3月18日 下午10:17


相关推荐

  • 阿里云如何部署使用OpenClaw?OpenClaw部署一看就会:零基础零代码、纯点击

    阿里云如何部署使用OpenClaw?OpenClaw部署一看就会:零基础零代码、纯点击

    2026年3月13日
    2
  • 字节跳动社招面试经验_字节hr面试后多久会通知你

    字节跳动社招面试经验_字节hr面试后多久会通知你虽然已经临近年末,但是还是萌生要看新机会的想法,主要的原因是觉得在目前的岗位上技术增长遇到的瓶颈,因此想去做一些更有挑战的工作。因为仍然准备继续在深圳工作,因此选定了三家公司,腾讯、字节跳动和sho

    2022年8月3日
    10
  • Python全栈工程师(集合、函数)

    Python全栈工程师(集合、函数)ParisGabrielParisGabriel感谢大家的支持你们的阅读评价就是我最好的动力我会坚持把排版内容以及偶尔的错误做的越来越好每天坚持一天一篇点个订阅吧灰常感谢当个死粉也

    2022年7月5日
    26
  • 用python随机生成数字_如何实现python随机生成数字?

    用python随机生成数字_如何实现python随机生成数字?今天小编就生成随机数,整理了多个方式,方便大家在项目时,根据自己的需求,直接拿来套用即可,以下内容相当详细,具体来看看吧~说明:python中生成随机数主要用到random模块,方法主要包括:randint、uniform、random、sample、choice等几种常用方法;环境:MacOS10.14.6/Windows10、python3.7.31、在[a,b]之间产生随机整数(ran…

    2025年8月8日
    5
  • Vue刷新当前页面(成功)

    Vue刷新当前页面(成功)查了资料一共有三种办法,只试过两种,都成功了,介绍一下。一、直接路由刷新vue自带了刷新的办法this.$router.go(0);但是这个办法会让整个当前页面刷新,相当于F5。如果项目中只是做一个编辑修改操作,希望修改后数据立马改变,但是使用此方法会出现一个短暂的空白页(如下图),用户效果特别不好,不推荐。二、使用provice和inject结合的方法这种方法会局部刷新,不会出现…

    2022年10月16日
    4
  • 知名国产FPGA厂家简介

    知名国产FPGA厂家简介一 京微齐力微齐力脱胎于 2005 年成立的京微雅格 在 2017 年 6 月成立了 京微齐力 齐力科技 京微齐力获得了 京微雅格 上百件 FPGA 专利和专有技术 含国际专利 的授权及二次开发权 在原 京微雅格 产品基础上推出了包括 HME R 河 系列 HME M 山 系 HME C 云 系列和 HME P 星 系列产品 代表产品 40nmHME R 河 系列产品二 复旦微电子复旦微电子是 1998 年 7 月 由复旦大学 专用集成电路与系统国家重点实验室 上海商业 tz 公司和一批梦想创建中国最好的集成电路设计公

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号