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

你可能感兴趣的文章
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
no1
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime(72)
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>