当前位置: 首页 > article >正文

JDBC编程

1. JDBC 简介

1.1 JDBC概述 : JDBC : Java DataBase Connectivity,是Sun公司制定的Java程序连接和操纵数据库的一组应用接口标准

1.2 JDBC 编程步骤

(1) 引入 java.sql 包的所有类及接口。

(2) 加载相应数据库的JDBC驱动程序。不同数据库系统的JDBC驱动程序不同,可根据java程序需要连接的数据库系统加载相应的驱动程序

(3) 定义JDBC连接的数据库对象。连接数据库时要指明连接数据库系统的名称,登录名和密码

(4) 连数据库。Java程序向数据库系统发送连接命令,并取得连接对象。

(5) 使用SQL语句操纵数据库。通过语句对象向数据库服务器发送SQL命令,数据库服务器执行SQL命令,并向java程序返回执行结果。

(6) 关闭Java程序与数据库的连接。

1.3 JDBC主要类和接口

(1) java.sql.Connection 接口,建立与特定数据库系统的连接,一个连接就是一个会话,建立连接后可以执行SQL语句。

(2) java.sql.CallableStatement 接口,执行SQL存储过程。

(3) java.sql.DriverManager 类,管理JDBC驱动程序

(4) java.sql.Data 类,该类是java.util.Date 的子类,用于表示与SQL DATE相同的日期类

(5) java.sql.DatabaseMetaData 接口,访问数据库的元信息

(6) java.sql.Driver 接口,定义数据库驱动程序接口。

(7) java.sql.DataTruncation 类,在JDBC遇到数据截断的异常时,报告一个警告(读数据时)或产生一个异常(写数据时)。

(8) java.sql.DriverPropertyInfo 类,通过DriverPropertyInfo 与Driver进行交流,可以使用getDriverPropertyInfo()方法获取驱动程序信息。

(9) java.sql.PreparedStatement 接口,该接口是Statement接口的子接口,创建可编译的SQL语句对象,该对象一次编译多次运行,提高SQL语句的执行效率。

(10) java.sqlResultSet 接口,用于创建表示SQL语句检索结果的结果集,用户通过结果集访问数据库。

(11) java.sql.Statement 接口,Statement 对象执行静态SQL语句,并获得语句执行后返回的结果。

(12) java.sql.SQLException 类,描述访问数据库时产生的异常信息。

(13) java.sqlSQLWarning 类,它是SQLException 类的子类,描述访问数据库时产生的警告信息。

(14) java.sqlTypes 类,定义了SQL类型常量,例如,常量 INTEGERT 与Java的基本类型int对应,SMALLINT常量与Java的基本类型short对应。

2. 连接数据库

Java 应用程序连接数据库分为3步,加载JDBC驱动程序、连接数据库系统和关闭。

2.1 加载JDBC驱动程序

语法格式:

Class.forName(数据库驱动程序);

2.2 连接数据库系统

MySQL 数据库的链接地址

语法格式:

jdbc:mysql://IP地址:端口号/数据库系统名

package JDBC_Basci;
import java.sql. *;

public class Demo1501 {
    // 通过数据库驱动程序,地址,用户和密码连接数据库系统
    public static Connection getMyConnection(String driverName, String uri, String userName, String password) throws Exception{
        Class.forName(driverName);  // 加载JDBC-MySQL 数据库驱动程序
        return DriverManager.getConnection(uri, userName, password); // 连接数据库系统
    }

    // 通过数据库驱动程序、地址连接数据库系统
    public static Connection getMyConnection(String driverName, String uri) throws Exception{
        Class.forName(driverName);  // 加载 JDBC-MySQL 数据库驱动程序
        return DriverManager.getConnection(uri); // 连接数据库系统
    }

    public static void main(String[] args) throws Exception {
        String driverName = "com.mysql.jdbc.Driver"; // MySQL 驱动程序
        Connection conn;
        // 连接 MySQL 数据库的字符串
        // 包括  协议  |  驱动程序名   |   分隔符  |  主机名or IP地址  |  端口号  |  数据库名
        //      jdbc:  |    mysql:    |    //    | localhost:    |   3306  |   jsu
//        String uri1 = "jdbc:mysql://localhost:3306/jsu?useSSL=true";
//        String username = "root";
//        String password = "jsu12345";
//        conn = Demo1501.getMyConnection(driverName, uri1, username, password);

        String uri2 = "jdbc:mysql://localhost:3306/jsu?user=root&password=jsu123456&userSSL=true";
        conn = Demo1501.getMyConnection(driverName, uri2);

        System.out.println("---------连接成功!输出数据库元数据---------");
        System.out.println("数据库名: " + conn.getMetaData().getDatabaseProductName());
        System.out.println("数据库版本号: " + conn.getMetaData().getDatabaseProductVersion());
        System.out.println("数据库驱动程序: " + conn.getMetaData().getDriverName());

        conn.close();
    }
}


http://www.kler.cn/news/134669.html

相关文章:

  • 阿里云CentOS主机开启ipv6
  • Windows10下Maven3.9.5安装教程
  • 代码逻辑修复与其他爬虫ip库的应用
  • 探索SPI:深入理解原理、源码与应用场景
  • 【Matterport3D模拟器安装详细教程】适用于离散视觉语言导航任务的环境部署与安装
  • python django 小程序博客源码
  • 如何保护PayPal账户安全:防止多个PayPal账号关联?
  • 【服务器学习】hook模块
  • SIMULIA|Abaqus 2022x新功能介绍第三弹
  • 【面试经典150 | 数学】回文数
  • 计算机毕业设计选题推荐-个人博客微信小程序/安卓APP-项目实战
  • 硬盘无法格式化怎么办?
  • ModStartCMS v7.6.0 CMS备份恢复优化,主题开发文档更新
  • ESP32 Arduino实战协议篇-搭建独立的 Web 服务器
  • APP源码|智慧校园电子班牌源码 智慧校园云平台
  • Elasticsearch备份与还原:使用elasticdump
  • C#入门(5):数组、一维数组,二维数组、交错数组、数组复制
  • 数据资产入表,给企业带来的机遇和挑战
  • 02-1解析xpath
  • String的字符串拼接
  • 通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件
  • 蓝桥杯 vector
  • nvm 安装后出现的各种问题解决方法
  • Redis 学习
  • linux 安装中文字体
  • vue中绑定class样式和条件渲染
  • Java中的局部变量和成员变量的区别
  • c语言:解决数组有关的删除,排序,合并等问题。
  • 在Linux上安装RStudio工具并实现本地远程访问【内网穿透】
  • 四、hdfs文件系统基础操作-保姆级教程