博客
关于我
JDBC学习笔记
阅读量:235 次
发布时间:2019-03-01

本文共 937 字,大约阅读时间需要 3 分钟。

概述

  • 概念:JDBC(Java DataBase Connectivity)是Java语言操作关系型数据库的标准接口,支持如MySQL、Oracle、DB2等数据库
  • 作用:作为桥梁,统一不同数据库的访问接口,使开发者无需关心具体数据库类型

体系结构

  • 分为两层接口
    • 面向应用的API,供程序员调用
    • 面向数据库的API,供数据库厂商开发驱动
  • Java应用程序 —— JDBC API —— JDBC Driver Manager —— JDBC驱动 —— 数据库
  • JDBC API由Java官方提供,主要功能接口包括:
    • DriverManager类:管理驱动注册
    • Connection接口:获取数据库连接
    • Statement接口:执行数据库操作
    • ResultSet接口:处理查询结果
  • Driver Manager的作用:负责加载和管理不同数据库的JDBC驱动,以获取连接
  • JDBC驱动由数据库厂商提供,负责连接具体的数据库

使用步骤

  • 1. 导入JDBC驱动包
    • 将JDBC驱动添加到项目依赖中
  • 2. 注册驱动
    • 使用反射加载驱动类
    • 建议使用com.mysql.cj.jdbc.Driver
  • 3. 获取数据库连接
    • 配置数据库URL
    • 提供用户名和密码
    • 通过DriverManager.getConnection获取连接
  • 4. 执行SQL操作
    • 使用Statement或PreparedStatement
    • executeUpdate和executeQuery分别处理增删改和查询操作
  • 5. 处理结果
    • 通过ResultSet处理查询结果
  • 6. 释放资源
    • 关闭Statement和Connection对象

PreparedStatement

  • PreparedStatement是Statement的子类,支持参数化查询
    • 优点:减少 SQL 注入风险,提高安全性
    • 使用方法:先传值后执行查询

SQL注入防护

  • SQL注入攻击通过恶意输入破坏数据库安全
    • 示例:利用OR条件执行恶意查询

常见问题解答

  • MySQL时区设置错误
    • 解决方法一:修改my.ini文件添加时区参数
    • 解决方法二:在连接URL中添加useSSL和serverTimezone参数
  • JDBC驱动注册方式选择
    • 使用反射加载驱动更具通用性

转载地址:http://dobv.baihongyu.com/

你可能感兴趣的文章
Qt笔记——QSemaphore处理生产者/消费者模式
查看>>
Qt笔记——QMutex&QWaitCondition处理生产者消费者模式
查看>>
Qt笔记——QLable+QPixmap图片缩放踩坑
查看>>
Qt笔记——foreach与forever
查看>>
QT程序怎么挪到Linux下,linux+Qt程序如何打包发布
查看>>
Qt知识:视图框架QGraphicsWidget详解
查看>>
SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用
查看>>
Qt知识: 画刷风格
查看>>
QT的OpenGL渲染窗QOpenGLWidget Class
查看>>
QT的C++程序加载动态链接库DLL(Linux下是so)的方式
查看>>
QT界面操作1:如何跟踪鼠标位置?
查看>>
Qt环境搭建(Visual Studio)
查看>>
QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)...
查看>>
QT样式表——url路径
查看>>
QT数据库(三):QSqlQuery使用
查看>>
QT教程5:消息框
查看>>
SpringBoot中集成阿里开源缓存访问框架JetCache实现声明式实例和方法缓存
查看>>
pom.xml中提示web.xml is missing and <failonmissingw>...
查看>>
Pomelo开发中Web客户端开发API简介
查看>>
QT教程2:QT5的体系构架
查看>>