是什么?

JDBC:Java Data Base Connectivity(java数据库连接)

为什么用?

sun公司提供JDBC API接口,数据库厂商来提供实现

我们需要用哪个数据库就加载那个数据库厂商提供的驱动包

怎么用?

  1. 需要先在数据库中建立表

我的数据库名为db_user,表名为t_user

2.在根目录下创建lib文件夹,导入Mysql驱动程序,接着ctrl+shift+alt+s >> Modules >> 右侧绿色加号 >> JARS >>选择驱动程序

3.写入以下程序:

步骤为:

  1. 加载数据库驱动程序
  2. 获取与数据库连接的connection对象
  3. 获取执行SQL语句的statement对象
  4. 执行SQL语句,拿到结果集
  5. 遍历结果集,得到数据
  6. 关闭连接
  1. package com.zhangwei.test;
  2.  
  3. import java.sql.*;
  4.  
  5. public class DBTest {
  6. public static void main(String[] args) {
  7. Connection connection = null;
  8. Statement statement = null;
  9. ResultSet resultSet = null;
  10. try {
  11. Class.forName("com.mysql.jdbc.Driver");
  12. connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_user?useSSL=false", "root", "123456");
    //黄色部分为 需要显式禁用SSL设置usessl = false,或设置usessl =true提供服务器证书验证信任库。
  13. statement = connection.createStatement();
  14. resultSet = statement.executeQuery("SELECT * FROM t_user");
  15. while(resultSet.next()){
  16. System.out.println(resultSet.getInt(1));
  17. System.out.println(resultSet.getString(2));
  18. System.out.println(resultSet.getString(3));
  19. System.out.println(resultSet.getString(4));
  20. }
  21.  
  22. }catch (SQLException e){
  23. e.printStackTrace();
  24.  
  25. }catch (ClassNotFoundException e){
  26. e.printStackTrace();
  27. }finally{
  28. if(resultSet != null){
  29.  
  30. try {
  31. resultSet.close();
  32. } catch (SQLException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. if(statement != null){
  37. try {
  38. statement.close();
  39. } catch (SQLException e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. if(connection != null){
  44. try {
  45. connection.close();
  46. } catch (SQLException e) {
  47. e.printStackTrace();
  48. }
  49. }
  50.  
  51. }
  52. }
  53.  
  54. }

运行结果:

需要知道的几个对象

Connection对象:客户端与数据库的交互(DriverManager.getConnection()时返回此对象)

Statement对象:用于向数据库发送Sql语句,实现数据库的增删改查(connection.createStatement()时返回此对象)

Resultset对象:代表SQL语句的执行结果(statement.executeQuery()时返回此对象)

转载自:https://segmentfault.com/a/1190000013293202

JDBC获取数据库连接的更多相关文章

  1. JAVA jdbc获取数据库连接

    JDBC获取数据库连接的帮助类 import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManage ...

  2. 在IDEA中使用JDBC获取数据库连接时的报错及解决办法

    在IDEA中使用JDBC获取数据库连接时,有时会报错Sat Dec 19 19:32:18 CST 2020 WARN: Establishing SSL connection without ser ...

  3. JDBC获取数据库连接慢

    RHEL6.4 获取Oracle数据库链接时快时慢,RHEL7.3获取Oracle数据库链接时一直很慢能够达到五万毫秒. 解决方法: 修改$JAVA_HOME/jre/lib/security/jav ...

  4. JDBC编程:获取数据库连接

    JDBC(Java Database Connectivity),即Java数据库连接.通过JDBC编程,可以使Java应用程序和数据库进行交互. JDBC驱动的方式有很多种,我们常用的驱动方式为:本 ...

  5. JDBC 学习笔记(四)—— JDBC 加载数据库驱动,获取数据库连接

    1. 加载数据库驱动 通常来说,JDBC 使用 Class 类的 forName() 静态方法来加载驱动,需要输入数据库驱动代表的字符串. 例如: 加载 MySQL 驱动: Class.forName ...

  6. MYSQL 之 JDBC(二): 数据库连接(二)通过DriverManager获取数据库连接

    通过DriverManager获取数据库连接 修改一下配置文件 driver=com.mysql.cj.jdbc.Driver jdbcUrl=jdbc:mysql://localhost:3306/ ...

  7. MYSQL 之 JDBC(一): 数据库连接(一)通过Driver接口获取数据库连接

    通过Driver接口获取数据库连接 数据持久化 数据库存取技术分类 JDBC直接访问数据库 JDO技术 第三方O/R工具,如Hibernate,ibatis等JDBC是java访问数据库的基石 JDB ...

  8. 【JDBC核心】获取数据库连接

    获取数据库连接 要素一:Driver 接口实现类 Driver 接口: java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口.这个接口是提供给数据库厂商使用的,不同数据库厂商提 ...

  9. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

随机推荐

  1. 立即执行函数 IIFE

    立即执行函数表达式IIFE(Immediately-invoked function expression)我们知道,在javascript(ES5)中,是没有块级作用域的概念的.看一个例子 for ...

  2. css基础系列

    盒子模型 盒子模型的概念 高和宽的设置 边框的设置 内边距的设置 外边距的设置 盒子的计算 元素显示的方式 盒子模型: border边框,margin外边距,padding内部距,content内容, ...

  3. 2018-01-12 Antlr4添加中文变量赋求值,括号,各种问题

    中文编程知乎专栏原文地址 例程(更多测试用例在此): 基数=100 基数×(基数+1)÷2 => 求值为5050 续上文Antlr4实现数学四则运算, 修改的语法规则部分: 程序: 声明+; 声 ...

  4. 自己手动搭建jenkins教程

    下载列表;  http://updates.jenkins-ci.org/download/war/ 本次下载: http://updates.jenkins-ci.org/download/war/ ...

  5. Win7系统修改hosts无法保存怎么办?

    背景 有的时候我们需要修改hosts文件,但是在某些情况下竟提示保存不了.之前有一次IntelliJ IDEA提示我快到期了,于是我到网上找到了一个激活方法,但需要将一个地址放到hosts文件中去,此 ...

  6. JAVA文件的上传与访问

    /** * 各种文件上传与判断 * types 文件类型(1图片 2视频 3文件) */@RequestMapping(method = RequestMethod.POST, path = &quo ...

  7. gittalk报错Error

    最近通过github和jekyll搭了一个博客,申请使用了gittalk的评论. 但是博客的页面一直报Error:Not found,如下 发现是gittalk中的信息填写错了,name随便写:Hom ...

  8. OutOfMemoryError/OOM/内存溢出异常实例分析--堆内存溢出

    Java堆内存溢出 只要不断创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象, 那么在对象数量到达最大堆的容量限制后就会产生内存溢出异常,代码如下: import ...

  9. ReactiveSwift源码解析(二) Bag容器的代码实现

    今天博客我接着上篇博客的内容来,上篇博客我们详细的看了ReactiveSwift中的Observer已经Event的代码实现.接下来我们来看一下ReactiveSwift中的结构体Bag的实现.Bag ...

  10. 1. 容器化部署一套云服务 第一讲 Jenkins(Docker + Jenkins + Yii2 + 云服务器))

    容器化部署一套云服务系列 1. 容器化部署一套云服务之Jenkins 一.购买服务器 服务器