JDBC数据库的连接

news2024/9/22 17:22:52

JDBC数据库的连接

简介:本文以简洁的篇幅带领大家快速入门java连接数据库,以查询为演示方案。

编写代码步骤

  • 创建工程,导入驱动jar包

下载官网:https://downloads.mysql.com/archives/c-j/
在这里插入图片描述

  • 注册驱动

    # mysql5的注册驱动的办法。
    Class.forName("com.mysql.jdbc.Driver");
    
    
    # mysql8的注册驱动的办法。
    Class.forName("com.mysql.cj.jdbc.Driver");
    
  • 获取连接

    Connection conn = DriverManager.getConnection(url, username, password);
    

    Java代码需要发送SQL给MySQL服务端,就需要先建立连接

  • 定义SQL语句

    String sql =update…” ;
    
  • 获取执行SQL对象

    执行SQL语句需要SQL执行对象,而这个执行对象就是Statement对象

    Statement stmt = conn.createStatement();
    
  • 执行SQL

    stmt.executeUpdate(sql);  
    
  • 处理返回结果

  • 释放资源

具体操作

  • 创建新的空的项目,定义项目的名称,并指定位置
    在这里插入图片描述
    在这里插入图片描述
  • 对项目进行设置,JDK版本、编译版本
    在这里插入图片描述
    在这里插入图片描述

创建lib

在这里插入图片描述
在这里插入图片描述

导入驱动包

将mysql的驱动包放在模块下的lib目录(随意命名)下,并将该jar包添加为库文件
在这里插入图片描述

  • 在添加为库文件的时候,有如下三个选项
    • Global Library : 全局有效
    • Project Library : 项目有效
    • Module Library : 模块有效
      在这里插入图片描述

创建src与创建类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

快速入门代码

在这里插入图片描述

package com.study.jdbc;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


/**
 * JDBC快速入门
 */
public class JDBCDemo {

    public static void main(String[] args) throws Exception {
        //1. 注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2. 获取连接
        // String url = "jdbc:mysql://127.0.0.1:3306/books"; // 如果是mysql5这样写
        String url = "jdbc:mysql://localhost:3306/books?serverTimezone=GMT%2B8&useOldAliasMetadataBehavior=true"; // 如果是mysql8这样写
        String username = "root";
        String password = "1234";

        Connection conn = DriverManager.getConnection(url, username, password);
        //3. 定义sql
        String sql = "select * from book";
        //4. 获取执行sql的对象 Statement
        Statement stmt =  conn.createStatement();
        //5. 执行sql
        ResultSet rs = stmt.executeQuery(sql);
//        //6. 处理结果
        while(rs.next()){
            // 获取数据
            String recId = rs.getString(1);
            String title = rs.getString(2);
            String type = rs.getString(3);
            double price = rs.getDouble(4);
            System.out.print(recId + " ");
            System.out.print(title + " ");
            System.out.print(type + " ");
            System.out.println(price);
            System.out.println();
            System.out.println("--------------");
        }
        //7. 释放资源
        stmt.close();
        conn.close();
    }
}

运行结果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BEV感知PETR-V1和PETR-V2

参考代码:PETR 1. 概述 介绍:这两篇文章提出了以位置编码转换(PETR,position embedding transformation)为基础的BEV感知方法,按照方法中组件不同可将PETR划分为V1和V2版本。在V1版本中提出了基础版本的PE…

【C++】c++11学习-常用特性总结

前言 由于种种历史原因,C的C11版本更新带来了很多有用的东西~,在C98的基础语法体系之上,来看看C11新增了哪些实用的特性吧~ (加把劲~~(๑╹◡╹)ノ""") 目录 一、列表初始化 1.原始的列…

Mysql8.x版本主从加读写分离(二) mysql8.x读写分离

Mysql8.x版本主从加读写分离(一) mysql8.x主从_争取不加班!的博客-CSDN博客 Mycata需要使用jdk 单独一台服务器部署的mycat 192.168.11.143 手动上传jdk的包 tar zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/ 解压 cd /usr/local…

c++ - 第14节 - c++中的多态

1. 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学生…

如何运行黑马程序员redis项目黑马点评(hm-dianping)、常见报错解决与部分接口的测试方法

文章目录一、相关链接二、下载代码方法一:使用git clone方法二:直接下载程序zip压缩包三、如何运行这份代码运行sql文件1、先新建数据库hmdp2、导入项目中的hmdp.sql文件修改application.yaml配置文件配置Mysql1、配置驱动2、配置url(这个不一…

Allwinner T3 汽车级处理器为工业级 SoM 提供动力

Allwinner T3 是一款四核 Cortex-A7 汽车级处理器,支持 -40C 至 85C 的宽工业温度范围。对比了全志T3的规格后,我觉得和全志A40i差不多,因为全志有不同的事业部,T系列是面向车规级市场,而A系列一直以来都是面向平板市场…

python之Matplotlib

1.数据可视化是什么? 数据可视化是将数据转换为图或表等信息图像,以一种更直观的方式展示和呈现数据.可视化,是通过图形化的手段进行有效地表达,准确高效,简洁全面地传递某种信息,甚至帮助我们发现某种规律和特征,挖掘数据背后的价值. 2. Matplotlib是什么? matplotlib是一…

教程:如何将一首歌生成一个二维码?

大雨打在树叶上的声音、烟花绽放的声音、邻居家的狗叫声、海浪和沙滩的决斗声、冬天的风掀翻路人衣服的声音、小孩练琴的声音、啤酒冒泡的声音…… 哦,还有你唱歌的声音,这些都可以做成一个二维码。扫码后就可以听到。 如今,声音二维码已经…

华为云GaussDB打造金融行业坚实数据底座,共创数字金融新未来

近期,由北京金融信息化研究所主办的首届中国金融业数据库技术大会在京顺利举行,大会邀请了金融主管单位领导、金融机构高层、以及数据库企业代表和众多数据库领域专家,共同畅谈金融行业数据库应用的创新发展和实践成果。华为云数据库服务产品…

为什么重写 equals 还要重写 hashCode 方法?

关于equals与hashCode关系的描述 我们可以先来看一下这个定理 (1)如果两个对象的 hashCode 值相等的情况下,对象的内容值不一定相等(hash碰撞问题) (2)如果使用 equals 方法比较两个对象内容值…

世界杯“引爆”东南亚电商狂潮,电商人如何选品和营销?

世界杯,作为最受关注的国际赛事之一,2022年的世界杯已经在卡塔尔拉开帷幕,中国元素无处不在,为跨境电商行业带来很多新机遇。对于跨境电商来说,更是要牢牢抓住这场全球赛事的商机!那么跨境电商人应该如何紧…

全面焕新|详解 Grafana v9.0.x 新增功能特性

Grafana 9.0 是一个提升 Grafana 易用性的版本,通过全新的和改进的操作界面来获取数据,以及默认的 Grafana 警报体验。 Grafana 的一个主要使命是让可观测性、数据可视化和分析更容易的惠及到每个人。对于像 Prometheus 和 Loki 这样的流行数据源&#…

基于Jeecgboot前后端分离的ERP系统开发代码生成(四)

今天主要做一个采购入库单的功能 这个是主从表,所以也是通过online表单设计完成基本功能 1、采购入库单 按照上面生成代码,基本的录入编辑等功能就可以了,当然一些细节需要后续完善 选择商品 2、审核通过 对于库存的更新,需要进行…

跨境电商独立站站群模式

首先我们来了解一下什么是独立站组模式?独立站群模式是指通过建站工具快速建立多个网站。每个网站都有独立的域名,每个网站只存放某个垂直领域的产品,包装成专业的工厂和卖家。每个网站的产品详情和公司实力展示尽量完美(不是市面上的复制品)…

Spring——IOC容器启动及Bean生成流程

IOC容器启动及Bean生成流程一、容器启动IOC启动流程重点二、扫描并注册BeanDefination加载并过滤资源注册BeanDefination三、BeanFactory后置处理四、注册Bean后置处理器五、遍历BeanDefination,实例化单例BeanpreInstantiateSingletonsdoGetBean(我们只…

idea配置tomcat,解决控制台乱码问题

问题描述: 配置tomcat,解决idea运行tomcat8.5.27版本控制台输出乱码。 版本: jdk1.8.0_172 IntelliJ IDEA 2019.3 3 (Ultimate Edition) apache-tomcat-8.5.27 解决步骤: 1、打开目录 apache-tomcat-8.5.27\conf\ 目录下 logging…

编译原理—运行环境、局部存储分配、活动记录、全局栈式存储分配、非局部名字的访问、参数传递

编译原理—运行环境、局部存储分配、全局栈式存储分配、非局部名字的访问、参数传递#pic_center 65%x55%1. 运行环境1.1存储组织与分配1.2运行时内存划分2.活动记录2.1活动记录的内容2.2活动记录内容的存取3.静态存储分配3.1FORTRAN静态存储分配4. 动态存储分配4.1 栈式分配下的…

Java反射(Reflex)机制

反射概述 Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象&#x…

【linux】linux实操篇之软件包管理

前言 关于这一快软件包管理知识点不多,我们主要认识一下rpm和yum这两个软件包管理工具,主要还是yum的使用! rpm 包的管理 一种用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有 .rpm 扩展名的文件。…

QQ plot 的解读

QQ plot全称是Quantile-Quantile Plot,分位数-分位数图是通过比较两个概率分布的分位数对这两个概率分布进行比较的概率图方法。 这个图形的形式非常简单,有点类似RNA-seq中评价两个样本相关性的散点图(图1)。这类图形为什么那么…