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

哪里买到纯净网站模板网站优化方案怎么写

哪里买到纯净网站模板,网站优化方案怎么写,室内设计3d效果图,数字货币交易网站开发怎么做文章目录 基本流程注册驱动的两种方法DriverManagerDriverManager 的核心作用核心原理自动注册驱动的机制关键方法 示例代码: 连接Mysql数据库StatementPreparedStatement JDBC全称Java DataBase Connectivity。 定义: JDBC 是 Java 语言中用于连接和执行 SQL 操作的标准接口。…

文章目录

    • 基本流程
    • 注册驱动的两种方法
    • DriverManager
      • DriverManager 的核心作用
      • 核心原理
      • 自动注册驱动的机制
      • 关键方法
    • 示例代码: 连接Mysql数据库
      • Statement
      • PreparedStatement

JDBC全称Java DataBase Connectivity。

定义: JDBC 是 Java 语言中用于连接和执行 SQL 操作的标准接口。

功能: 提供统一的方式访问关系型数据库(如 MySQL、Oracle、PostgreSQL 等)。

核心包: java.sql 和 javax.sql。

基本流程

  1. 加载并注册驱动
  2. 建立数据库连接
  3. 创建 Statement 对象
  4. 执行sql语句
  5. 处理结果集 (ResultSet)
  6. 释放资源 (直接close)

注册驱动的两种方法

以mysql为例

第一种:

DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
  • 手动创建一个驱动实例,并显式注册到 DriverManager
  • DriverManager 会将这个驱动添加到它的驱动列表中,以便后续用 getConnection() 建立数据库连接。

第二种(推荐)

Class.forName("com.mysql.cj.jdbc.Driver")
  • 利用 Java 的反射机制加载这个类,并执行它的静态代码块
  • com.mysql.cj.jdbc.Driver 的静态代码块中已经调用了
DriverManager.registerDriver(new Driver());
所以自动完成了驱动注册。  

DriverManager

DriverManager 是 Java JDBC(Java Database Connectivity)API 的核心类之一,它负责管理数据库驱动并协调应用程序与数据库之间的连接。

DriverManager 的核心作用

功能说明
驱动注册接受驱动类注册(DriverManager.registerDriver()
驱动管理内部维护一个已注册驱动的列表
获取连接通过 getConnection() 方法,找到能处理特定 JDBC URL 的驱动并返回连接

核心原理

驱动注册机制

  • JDBC 驱动类实现了 java.sql.Driver 接口
  • 驱动类的静态代码块中通常会调用:
DriverManager.registerDriver(new Driver());

这就把该驱动对象注册到 DriverManager 的内部驱动列表中。

  • 也可以手动注册:
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());

驱动列表

  • DriverManager 内部维护了一个 List<Driver>,用于存储所有注册的 JDBC 驱动
  • 这个列表是线程安全的(使用了同步机制)

获取连接

getConnection() 的调用

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "user", "pass");

执行流程如下:

    1. 遍历内部注册的驱动列表
    2. 每个驱动调用 acceptsURL(url) 判断是否支持这个 URL
    3. 找到支持的驱动后,调用它的 connect() 方法返回一个 Connection 对象
    4. 如果没有任何驱动支持这个 URL,会抛出 SQLException

自动注册驱动的机制

从 JDBC 4.0 开始(Java 6 起),支持SPI 自动注册机制

  • 驱动 JAR 包中包含 META-INF/services/java.sql.Driver 文件
  • 文件内容为驱动的全限定类名,如:com.mysql.cj.jdbc.Driver
  • 当类加载器加载驱动 jar 时,JDK 会自动加载并注册驱动类,无需显式写 Class.forName(...)

所以可以直接写:

Connection conn = DriverManager.getConnection(...);

关键方法

方法说明
getConnection(String url, String user, String password)根据 URL、用户名、密码获取数据库连接
getDrivers()获取当前已注册的所有驱动
registerDriver(Driver driver)手动注册驱动(通常不需要直接调用)
deregisterDriver(Driver driver)从注册列表中移除驱动
getDrivers()获取所有已注册的驱动实例
setLogWriter(PrintWriter)设置日志输出流
setLoginTimeout(int seconds)设置连接超时时间

示例代码: 连接Mysql数据库

package JDBC;import java.sql.*;public class demo1 {public static void main(String[] args) {String url="jdbc:mysql://localhost:3307/test";String user="root";String password="root";try{//1.加载驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.建立连接Connection conn= DriverManager.getConnection(url,user,password);//3.创建StatementStatement stmt = conn.createStatement();//4.执行sql语句ResultSet rs = stmt.executeQuery("select * from users");//5.处理结果集while(rs.next()){String username = rs.getString("user");//列名的方式String pass = rs.getString(2);//列下标的方式System.out.println("username:"+username+" password:"+pass);}//6.关闭资源rs.close();stmt.close();conn.close();}catch (Exception e){e.printStackTrace();System.out.println(e.getMessage());}}
}

在这里插入图片描述

Statement

Statement sql语句的主要操作函数有三个

executeQuery() //执行select查询语句
executrupdate() //可以执行insert,update,delect,CREATE 之类的
execute() //执行任意语句

PreparedStatement

PreparedStatement其sql语句是在其获取命令执行对象时就以及写入了预编译语句。其要进行sql执行只要对其参数进行传入即可

PreparedStatement pstmt = conn.prepareStatement("select * from users where user=?");
pstmt.setString(1,"xpw");
ResultSet rs2 = pstmt.executeQuery();
rs2.next();
System.out.println("预编译查询\t用户名:"+rs2.getString("user")+" 密码:"+rs2.getString("password"));//预编译查询	用户名:xpw 密码:123

需要注意的是所得到的ResultSet类的实例,其初始的索引是不在第一行的,我们想获取内容需要先使用next使得索引内移

http://www.dtcms.com/wzjs/16212.html

相关文章:

  • 谷歌海外广告投放推广广东百度seo关键词排名
  • wordpress如何更换域名嘉兴优化公司
  • 设计平台化seo内部优化包括哪些内容
  • 网站建设中敬请期待搜索引擎营销的简称
  • 百度搜索引擎录入网站网站优化课程
  • 邯郸网站建设选哪家好网站运营指标
  • 长沙手机网站建设百度模拟点击
  • 做网店哪个网站好seo网页优化培训
  • 海南平台网站建设平台免费设计模板网站
  • 做执法设备有哪些网站十大跨境电商erp排名
  • 网站制作产品资料百度seo刷排名软件
  • 法律问题咨询哪个网站做的好网络营销模式包括哪些
  • 昆山h5网站建设青岛百度快速排名优化
  • 夹娃娃网站如何做北京seo服务行者
  • 免费建手机个人网站网店营销策划方案
  • dede网站更新如何同步腾讯微博更新大量微信群推广代发广告
  • 长沙专门做网站建设的公司网站设计制作教程
  • 怎么做网站弹幕效果怎么查搜索关键词排名
  • 政协网站建设意义重庆企业站seo
  • 山东广饶县建设局网站seo云优化软件破解版
  • 国内购物平台排行榜seo的优缺点
  • 做音乐网站的栏目太原seo
  • 宁波做公司网站seo推广培训中心
  • 湛江网站如何制作郑州seo排名工具
  • 菏泽建设企业网站网络推广一般都干啥
  • 中国建设新闻网站惠州seo计费管理
  • 政府网站怎么制作苏州优化网站公司
  • 电子商务网站建设与管理课后题答案企业新闻稿发布平台
  • wordpress 会员级别免费seo提交工具
  • 网站开发所需的知识seo报告