JDBC介绍

news/2025/1/12 19:08:59/

JDBC介绍

  • JDBC就是使用java语言来操作数据库的一套API,可以操作不同类型的关系性数据库。各种数据库编写自己数据库的驱动来实现JDBC这套接口,从而实现通过java代码来操作不同类型的关系性数据库。
  • 各个数据库的驱动jar包就是实现该接口的实现类,以达到可以使用java代码来操作自己数据库的目的。
  • 我们通过该接口编程,真正实现我们对于数据库操作的代码在驱动的jar包中
  • 由此,我们导入不同的数据库的驱动jar包,就可以通过jdbc编程来实现对于不同数据库的操作,即我们只需要学习jdbc就可以了。后面学习的MyBatis底层就是JDBC实现的。

JDBC快速入门

步骤
  • 创建工程,导入驱动包(我使用maven导入依赖)
  • 注册驱动(使用哪个驱动jar包)
  • 获得连接(连接数据库)
  • 定义SQL语句
  • 获取执行SQL语句对象
  • 执行SQL
  • 处理结果返回
  • 释放资源

JDBC API详解

  • URL:连接路径
    • 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2....
    • 示例如上
    • 细节:
      • 如果连接本地mysql服务器,并且mysql服务器默认端口为3306,则url可以简写为jdbc:mysql:///数据库名称?参数键值对1&参数键值对2....,配置useSSL=false,解除安全连接方式,解除警告提示。

数据库连接池

数据库连接池简介

  • 数据库连接池是一个容器(首先初始化该容器,将与数据库的连接创建好,用户要连接数据库,直接使用准备好的连接对象,使用完后,在放在容器中,就不会出现用户请求一次数据库就创建一次连接,用完之后就释放资源,再使用再创建。),负责分配、管理数据库连接(Connection)
  • 它允许应用程序重复使用一个现有的数据库连接,而不是再建立一个
  • 释放空闲空间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
  • 好处
    • 资源重用
    • 提升系统响应速度
    • 避免数据库遗漏(如果某一用户一直使用一个连接对象,系统会将该连接回收,供其它用户使用,从而将就避免数据库的遗漏)
  • 常见的数据连接池
    • DBCP
    • C3P0
    • Druid
      • 德鲁伊连接池是阿里巴巴开源的数据库连接池项目
      • 功能强大、性能优秀、是java语言最好的数据库连接池之一

Druid数据库连接池

步骤
  • 导入jar包(maven依赖)
    • <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.16</version>
      </dependency>
      <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version>
      </dependency>
      <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.15.0</version>
      </dependency>
      <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.15.0</version>
      </dependency>
      
  • 定义配置文件(主要是于数据库连接的信息)
    • # ???????
      url=jdbc:mysql://localhost:3306/db02
      username=root
      password=123456
      driverClassName=com.mysql.jdbc.Driver# ????????
      initialSize=5
      spring.datasource.min-idle=5
      maxActive=50
      maxWait=60000
  • 加载配置文件
  • 获取连接池对象
    •     public static void main(String[] args) throws Exception {
      //        记载配置文件Properties properties = new Properties();properties.load(new FileInputStream("src/Druid.properties"));
      //        建立连接DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
      //        获取连接池对象Connection connection = dataSource.getConnection();System.out.println(connection);}


http://www.ppmy.cn/news/1142094.html

相关文章

B站数据分析,UP主粉丝画像如何看?

随着互联网的发展&#xff0c;在大数据时代的今天&#xff0c;越来越多的企业用它们来指导精准营销&#xff0c;数据资源成为各大公司竞相追逐的香饽饽&#xff0c;而对于短视频广告投放来说&#xff0c;了解账号的粉丝人群画像&#xff0c;就可以知道他们的喜好厌恶&#xff0…

3D灌篮高手

欢迎来到程序小院 3D灌篮高手 玩法&#xff1a; 鼠标左键点击按住屏幕&#xff0c;左边力度条在红色区域时松开鼠标投篮&#xff0c;30秒内完成投篮&#xff0c;统计投中次数&#xff0c;快去成为灌篮高手吧^^。开始游戏https://www.ormcc.com/play/gameStart/186 html <d…

IDEA中maven无法下载依赖解决方案

如果你尝试了很多网上的办法 仍然没有解决 那么很有可能和我一样碰到**了&#xff0c;解决办法千奇百怪&#xff0c; 解决之前&#xff08;山丹丹的那个红艳艳&#xff09;都没我屏幕红&#xff0c;本人试了一下几种 1、检查maven配置 settings.xml(应该都没问题)&#xff0c…

二叉树的顺序存储——堆——初识堆排序

前面我们学过可以把完全二叉树存入到顺序表中&#xff0c;然后利用完全二叉树的情缘关系&#xff0c;就可以通过数组下标来联系。 但是并不是把二叉树存入到数组中就是堆了&#xff0c;要看原原来的二叉树是否满足&#xff1a;所有的父都小于等于子&#xff0c;或者所有的父都…

【小沐学前端】从零开始搭建一个Vue项目

文章目录 1、简介1.1 Vue 核心功能1.2 Vue API风格1.3 node环境 2、构建项目2.1 vue create2.2 vue ui2.3 vue init2.4 vite 结语 1、简介 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&am…

701. 二叉搜索树中的插入操作

给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同。 注意&#xff0c;可能存在多种有效的插入方式&a…

【用MyEclipse2017创建一个Hibernate Web登录项目】

用MyEclipse2017创建一个Hibernate Web登录项目 靠手工实现JavaBean/JDBC的系统 Hibernate自动生成了所需的JavaBean&#xff0c;也取代了原JDBC的功能&#xff01;可简单形象地理解为&#xff1a;Hibernate&#xff1d;JavaBean&#xff0b;JDBC 1、创建一个Java EE Web项目…

arthas 监控线程池相关对象

具体代码&#xff0c;需要设置类的变量&#xff0c;不能设置方法的局部变量 package com.xxx.vman.service;import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.Test;import java.util.concurrent.LinkedBlockingQueue; import java.util.concu…