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

JDBC连接数据库精准提炼

大家好,欢迎来到程序视点!我是你们的老朋友.小二!

以下是针对JDBC连接数据库文章的精准提炼:

  1. 核心流程框架

  • 完整JDBC操作遵循7步标准流程:加载驱动→定义URL→建立连接→创建Statement→执行SQL→处理结果→资源释放

  1. 关键技术细节

  • 驱动加载:通过Class.forName()动态注册驱动类(如com.mysql.jdbc.Driver)

  • 连接配置:URL格式规范 jdbc:子协议://主机:端口/数据库?参数键值对,需指定字符编码等关键参数

  • 连接管理:DriverManager.getConnection()三要素(URL/用户名/密码)

  • 语句类型
    • Statement:静态SQL

    • PreparedStatement:动态SQL(防注入)

    • CallableStatement:存储过程

  1. 执行与结果处理

  • 三大执行方法:
    • executeQuery():返回ResultSet(查询)

    • executeUpdate():返回影响行数(增删改)

    • execute():处理多结果集

  • 结果集遍历:rs.next()配合getString(列名/索引)获取数据

  1. 关键规范要求

  • 资源关闭顺序:ResultSet → Statement → Connection(反向依赖链)

  • 异常处理:必须捕获ClassNotFoundException和SQLException

  • 编码建议:ResultSet列索引访问效率优于列名

  1. 典型代码模式

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class JDBC {public static  void main(String[] args){Connection con = null;PreparedStatement pStatement = null;ResultSet res = null;try{// 1.注册驱动Driver driver = new com.mysql.cj.jdbc.Driver();DriverManager.registerDriver(driver);//2.获取连接String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";String user = "root";String password = "123456";con = DriverManager.getConnection(url, user, password);//3.获取数据库操作对象String sql = "select * from students where sno=?";pStatement = con.prepareStatement(sql);pStatement.setInt(1,1026);//4.执行sql语句res = pStatement.executeQuery();//5.处理查询结果集if(res.next()){System.out.println("查询成功,查询结果如下:");System.out.print("学号为:"+res.getInt(1));System.out.print("  姓名为:"+res.getString("name"));System.out.print("  分数为:"+res.getInt(3));}}catch (SQLException e){e.printStackTrace();}finally {//6.释放资源,try中的变量无法在finally中使用,关闭资源需从小到大依次关闭try {if (res != null) {res.close();}} catch (SQLException e) {e.printStackTrace();}try {if (pStatement != null) {pStatement.close();}} catch (SQLException e) {e.printStackTrace();}try {if (con != null) {con.close();}} catch (SQLException e) {e.printStackTrace();}}}
}

最后

【程序视点】助力打工人减负,从来不是说说而已!

后续小二会继续详细分享更多实用的工具和功能。别忘了【一键三连】支持下哦~

相关文章:

  • 具身智能(Embodied AI)
  • 把 jar 打包成 exe
  • CTA-861-G-2017中文pdf版
  • 【QQ音乐】sign签名| data参数加密 | AES-GCM加密 | webpack (下)
  • CppCon 2014 学习第3天:Viewing the world through array-shaped glasses
  • 传输层协议TCP(上)
  • 知识隔离的视觉-语言-动作模型:训练更快、运行更快、泛化更好
  • 【仿生系统】qwen的仿生机器人解决方案
  • 工程化架构设计:Monorepo 实战与现代化前端工程体系构建
  • Webug4.0靶场通关笔记03- 第3关SQL注入之时间盲注(手注法+脚本法 两种方法)
  • 【AI论文】ScienceBoard:评估现实科学工作流程中的多模态自主代理
  • Unity Button 交互动画
  • 易经六十四卦象解释数据集分享!智能体知识库收集~
  • 使用MFC 写dap上位机在线烧写FLASH
  • UE路径追踪Path Tracing和Lumen的区别
  • 从 0 到 1 的显示革命:九天画芯张锦解码铁电液晶技术进化史
  • lua的注意事项2
  • 反范式设计应用场景解析
  • 2025-5-27Vue3快速上手
  • Swagger 访问不到 报错:o.s.web.servlet.PageNotFound : No mapping for GET /doc.html
  • 做网站送白酒/百度登录入口百度
  • 昆明工程建设信息网站/网站不收录怎么解决
  • 太原哪家网站建设公司好/百度关键词优化软件排名
  • 有利于seo的网站底部/西安网站seo技术
  • 温州手机建站模板/木卢seo教程
  • 宝山网站建设公司/百度竞价被点击软件盯上