博客
关于我
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/

你可能感兴趣的文章
Nginx的使用总结(一)
查看>>
Nginx的是什么?干什么用的?
查看>>
Nginx访问控制_登陆权限的控制(http_auth_basic_module)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NI笔试——大数加法
查看>>
NLP 基于kashgari和BERT实现中文命名实体识别(NER)
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
查看>>
npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
查看>>
npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
查看>>
NR,NF,FNR
查看>>
nrf开发笔记一开发软件
查看>>
NSDateFormatter的替代方法
查看>>
NSOperation基本操作
查看>>
NSSet集合 无序的 不能重复的
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>