使用JDBC连接MySQL数据库

Kettle下载与安装教程【保姆版】 Kettle简介 Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。 它由Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。 主要功能 Pentaho D 阅读详情

前言

JDBC是MySQL初学者入门需要学习的一类Java API,这篇文章介绍简单的Java连接数据库的方法,首先看看JDBC的概念:

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

正文

准备工具
  1. mysql-connector-java-8.0.16.jar(目前最新版)
  2. IntelliJ IDEA 2019.1.3 (Ultimate Edition)
  3. Windows 10 10.0
  4. MySQL 8.0.16
  5. junit-4.11(测试)
内容概述
  1. 建立数据库university
  2. 建立表students
  3. 用maven archetype创建java demo项目(quick start)
  4. 编写Java代码,测试连接数据库
  5. 实现Java端控制的数据库增删改查(CRUD)
具体实现
  1. 首先,用MySQL管理工具(命令行或者图形化管理工具皆可)创建university数据库,SQL语句如下。
CREATE DATABASE UNIVERSITY CHARACTER SET UTF8;

用命令行工具创建

  1. 创建students表,包含简略的属性,SQL语句如下所示。。
字段名数据类型数据长度主外键字段说明
idint10主学生学号
namevarchar20否学生姓名
gendervarchar6否学生性别
phonevarchar20否联系方式
CREATE TABLE STUDENTS(
	ID INT(10) NOT NULL PRIMARY KEY,
	NAME VARCHAR(20) NOT NULL,
	GENDER VARCHAR(6) NOT NULL,
	PHONE VARCHAR(20) NOT NULL
    )ENGINE=INNODB  DEFAULT CHARSET=UTF8;
  1. 在IDEA项目内创建properties文件,预定义数据库信息。
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/university?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=root

其中要注意的是,com.mysql.cj.jdbc.Driver是mysql-connector-java 6中的,所以设置时要注意指定时区serverTimezone

  1. 创建JDBCUtils工具类,编写创建连接与关闭连接的代码,首先配置数据库信息并用静态代码块注册SQL驱动。
    private static String driver;
    private static String url;
    private static String username;
    private static String password;

    static {
        Properties prop = new Properties();
        try {
            prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("mysql.properties"));
        } catch (IOException e) {
            throw new RuntimeException("Can't find file!");
        }

        driver = prop.getProperty("driver");
        url = prop.getProperty("url");
        username = prop.getProperty("username");
        password = prop.getProperty("password");

        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("Can't register driver!");
        }
    }

编写数据库开启连接与关闭连接代码:

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,username,password);
    }


    public static void free(ResultSet rs , Statement st , Connection conn){
        try {
            if(rs!=null)
                rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if(st!=null)
                    st.close();
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                try {
                    if(conn!=null)
                        conn.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
        }

    }
  1. 编写Junit_Test测试类,进行代数据库操作测试,要先将代码的数据库连接部分和释放部分写好:
    private Connection conn = null;
    private Statement st = null;
    private ResultSet rs = null;

    @Before
    public void connConfig() throws SQLException {
        conn = JDBCUtils.getConnection();
        st = conn.createStatement();
    }
    
    @After
    public void connClose(){
        JDBCUtils.free(rs,st,conn);
    }
  1. 最后将代码的CRUD部分写好,接下来分别进行数据库的增加操作、修改操作,查找操作和删除操作。
  • 在数据库中增加数据:
        String sql = "insert into students values (1,'张三','男','15271945221');";
        st.execute(sql);

增加结果

  • 在数据库中修改数据:
        String sql = "update students set name = '李四' where id = 1";
        st.executeUpdate(sql);

修改数据

  • 在数据库中查找数据:
        String sql = "select * from students";
        rs = st.executeQuery(sql);
        while(rs.next())
            System.out.println(rs.getInt("id")+"--"+rs.getString("name")+"--"+rs.getString("gender")+"--"+rs.getString("phone"));

查找数据

  • 在数据库中删除数据:
        String sql = "delete from students where id = 1";
        st.executeUpdate(sql);

删除数据

总结

作为初步的数据库操作步骤,这里只简单的示范了一下基础部分,JDBC还有很多内容等着我们去深入学习和研究,进一步深入练习也为我们以后学习持久层框架打下坚实的基础。

对世界上的一切学问与知识的掌握也并非难事,只要持之以恒地学习,努力掌握规律,达到熟悉的境地,就能融会贯通,运用自如了。

软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位 当在Visual Studio中遇到软件崩溃且无法查看详细调用堆栈时,可以使用Windbg进行动态调试去分析定位问题。 阅读详情

相关推荐

【 史上最全】测绘、遥感RS、地信GIS国家级比赛竞赛整理

目录Esri Esri

weixin_43910227的博客 9148

JDBC连接MySQL数据库步骤

JDBC全称:Java DataBase Connectivity;是Java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,例如:MySQL、Oracle、SQLServer等数据库;它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序; JDBC简单的用途就是与数据库建...

weixin_44589334的博客 4251

IC版图设计之OASIS文件格式详解

OASIS(Open Artwork System Interchange Standard)是继GDSII之后新一代的集成电路版图数据交换标准,由SEMI在2004年正式发布(SEMI标准号:SEMI P39)。高压缩率:相比GDSII可减少3-10倍文件体积扩展性强:支持纳米级工艺的复杂图形描述跨平台兼容:独立于EDA工具和操作系统安全增强:内置校验和与加密支持。

ZZcppc的博客 2436

Java API(JDBC)连接操作数据库MySQL

一、介绍JDBC的工作原理 什么是JDBC? JDBC(Java Data Base Connectivity)是Java专门用来操作各种数据库的API。 Java编写的程序代码通过使用JDBC提供的API可以连接并操作数据库。 JDBC常用的操作: 与一个数据库建立连接 向已经连接的数据库发送SQL语句 处理SQL语句返回的结果 Java编写的应用程序连接数据库的方式(工作原理)?——调用JDBC-数据库驱动 JDBC通过加载调用JDBC-数据库驱动,该驱动是java语言编写的,即

每天八杯水的博客 3158

从OVITO可视化到LAMMPS计算:ATOMSK堆垛层错模型的全流程避坑指南

本文提供了一份从ATOMSK建模、OVITO可视化诊断到LAMMPS计算的堆垛层错模型全流程实战指南。重点解析了构建“计算友好”模型的核心矛盾,并详细演示了如何通过添加真空层、原子包裹和能量最小化等关键步骤,规避周期性边界条件带来的非物理相互作用,确保广义层错能计算的可靠性与可复现性。

v4w5x6的博客 266

银河麒麟V10+QT6.0中文输入法环境搭建全攻略(附镜像加速技巧)

本文提供了在银河麒麟V10操作系统上为QT6.0搭建中文输入法环境的完整实战指南。文章详细介绍了从系统准备、镜像源优化、QT6安装器获取与加速安装,到编译Fcitx5输入法插件依赖库、深度配置环境变量与项目的全流程。重点分享了使用国内镜像源加速安装的技巧,解决了国产化开发中QT应用无法输入中文的常见难题,旨在帮助开发者快速构建稳定高效的开发环境。

weixin_29204749的博客 392

MySQL~JDBC编程详解,使用jdbc与数据库连接

目录 一.JDBC概念 二.JDBC工作原理 1.JDBC访问数据库层次结构: 2.JDBC优势: 3.为什么要JDBC接口层? 三.JDBC的使用 1.JDBC使用步骤详解 1).建立数据库连接Connection 2).创建操作命令Statement 3). 使用操作命令来执行SQL 4). 处理结果集ResultSet(只有查询操作需要) 5). 释放资源 2.总结(结合数据库客户端和数据库服务器数据传输的步骤来理解) 一.JDBC概念 JDBC,即Java Datab.

Zebra的博客 778

使用 MATLAB/Simulink + Simscape Electrical + Simulink Design Optimization,构建一个基于SiC/GaN的Z源逆变器在储能系统中的软启

《手把手教你学Simulink:Z源逆变器在储能系统中的应用》摘要 本文详细介绍了使用MATLAB/Simulink构建Z源逆变器储能系统仿真模型的全过程。Z源逆变器凭借其独特的阻抗网络结构,解决了传统逆变器在直通保护和升压能力方面的痛点。文章通过6个关键步骤:主电路搭建、调制策略设计、软启动实现、仿真分析、效率对比和工程问题解决方案,完整展示了Z源逆变器从理论到仿真的实现路径。重点讲解了直通零矢量SPWM调制策略和渐进式升压比控制方法,验证了系统93.3%的效率和优异的抗扰性能。该模型为光伏储能、电动汽车

MHD0815的博客 122

java代码实现,利用JDBC接口-连接Mysql数据库

java代码实现Mysql连接数据库

fengdidiao的博客 2263

新能源汽车电池及充电原理详解

本文详细介绍了新能源汽车的电池包结构、铅酸电池充放电原理,以及交流和直流充电的工作原理和优缺点。内容涵盖电池串联并联原因、充电设备如车载充电机、交流充电桩和直流充电桩的介绍,以及不同充电模式的连接方式。通过对充电过程的深入探讨,有助于读者理解新能源汽车的充电技术。

让你爱上电路设计 4525

如何用python自己复现worldquant brain中的回测结果

本文介绍了在Python中复现WorldQuant Brain平台上alpha 101因子1和4的回测框架构建要点。重点分析了Brain平台的策略设置:使用TOP 3000高流动性股票(可用中证1000/2000替代);delay=1表示t日信号在t+1日开盘调仓;详细解释了market/sector/industry/subindustry四级中性化方法;说明了decay参数控制持仓权重线性衰减;以及TRUNCATION参数限制单股仓位风险。文章还探讨了不同调仓时点的实现差异,为自主构建量化回测系统提供了

夏之微风的博客 731

jdbc与mysql建立连接数据库连接_简单用JDBC与mysql数据库进行连接

1.创建一个静态方法Connection用于进行与数据库的连接(部分重要代码有注释)//与数据库建立连接的方法public static Connection getConnection(){//构造一个连接connConnection conn=null;/** 建立连接所需要的数据,ip地址,用户名和密码* jdbc是java与数据库连接的组件* mysal是数据库的类型,还有其他数据库类型(...

weixin_28998761的博客 547

8 卡 GPU 服务器与 NVLink/NVSwitch 互联技术

NVLink 是一种点对点的高速互连技术,单条 NVLink 就是一条全双工双路信道,每条 NVLink 链路可以将 2 个 GPU 直连起来,并且每个 GPU 可以提供多条 NVLink 接口连接多个 GPU。另外,PCIe Switch 互联拓扑中的 GPU 之间可能存在 GPU0→Switch0→CPU0→CPU1→Switch1→GPU7 的通信链路,它的通信不可避免的存在一定的延迟,因而更适合用于对信号效率不敏感且追求性价比的使用场景,如:推理、云计算等领域。本文讨论的是单机 GPU 卡间互联。

烟云的计算 4262

JDBC连接MySQL数据库

JDBC连接MySQL数据库

weixin_66107760的博客 4953

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【JDBC——连接MySQL数据库的几种代码写法——db.properties文件的使用】

【代码】【JDBC——连接MySQL数据库的几种代码写法】

相关项目可以查看https://gitee.com/fan-pl或https://github.com/fpl1116 1034

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用 jdbc 连接 mysql 数据库

使用 jdbc 连接 mysql 数据库

creatorYC的博客 791

使用JDBC技术连接MYSQL数据库并实现增删改查的操作

一、设计模式_桥接模式 1、属于结构型模式。 2、在抽象化和实现化之间实现脱耦。抽象化就是把对象的实现采用抽象类的方式;实现化把对象的实现采用接口。脱耦就是让抽象化体系与实现化体系不要耦合在一起。 3、对象功能的扩展一般都使用继承,在有些情况下会造成子类的数量增长得非常快,也就是为了扩展类的功能,可能会写很多个类。 4、把以上抽象类的体系剥离出来,让实现类直接去实现接口,让抽象去组合实现类。 从以上的结构可以看出,该结构具有二个维度的变化可能,一个是实现的部分,一个是抽象的部分,如果两者同时都发生变化,

norang的博客 3603

JDBC连接MySQL数据库详解

JDBC(Java Database Connectivity)是Java语言中用于执行SQL语句的标准API。它为多种关系数据库提供统一访问,使用Java语言编写的应用程序可以通过JDBC与各种数据库建立连接,进行数据插入、查询、更新、删除等操作。JDBC为Java应用程序提供了一种强大而灵活的数据库访问方式。通过掌握JDBC,开发者可以轻松地实现各种数据库操作,为应用程序增添数据持久化的能力。

随喜 1533

Java-JDBC建立数据库连接(MySQL)

注意:连接数据需要先在JAVA中导入mysql的jar包。

Java小白的博客 2990

JDBC连接MySQL数据库(一)——数据库的基本连接

JDBC连接MySQL数据库概述JDBC的概念了解JDBC中的APIDriver 接口DriverManager接口Connection 接口Statement接口ResultSet接口建立连接步骤JDBC基础代码JDBC代码改进结语 概述 JDBC的概念 在使用之前我们先了解一下JDBC的概念, JDBC的全称是数据库连接(Java Database Connectivity),它是一套用于执行...

ZQYnn's blog 2267

IDEA中JDBC连接MYSQL数据库步骤超详细总结

JDBC是Java连接数据库的一种接口,它由各个数据库厂商为开发者提供的接口,要使用它需要到相应厂商下载对应的jar包,maven导包的操作,这篇文章为大家总结了jdbc的mysql数据库的连接方式,有任何问题可私信作者或在评论区评论,有时间会更新。

m0_54722399的博客 2万+

【JAVA百炼成仙】JDBC连接MYSQL数据库

JDBC如何连接MYSQL数据库

5万+

IDEA使用JDBC连接MySQL数据库详细教程

首先需要保证你已经成功安装mysql 接下来下载连接MySQL数据库的驱动 使用JDBC连接MySQL数据库的驱动为Connentor/J,这里以最新版本的8.0为例 解压zip文件,随便解压到一个地方就好,当然作为程序员,需要有好习惯的 创建java项目,导入mysql-connector-java-8.0.13.jar包 下面再来看下导入jar的步骤 写代码 //导入包 import ja...

永不止步的博客 10万+

简述使jdbc连接mysql数据库,使用JDBC连接MySQL

JDBC简述Java数据库连接(Java Database connectivity)简称为JDBC,是Java程序与数据库系统通信的标准API,它包含一组用Java语言编写的类和接口。通过JDBC可以方便的向各种关系数据库发送SQL语句。也就是说,开发人员不需要为访问不同的数据库而编写不同的应用程序,而只需使用JDBC编写一个通用程序就可以向不同的数据库发送SQL调用。由于Java的平台无关性,...

weixin_30260191的博客 523

基于JDBC的mysql数据库连接

JDBC(Java DataBase Connection)是基于java的、用于访问关系数据库的一种应用接口。JDBC提供多种数据库驱动程序类型,提供执行SQL语句来曹忠关系数据库的方法,使得java应用程序具有访问不同数据库的能力。本次实验采用的是利用JDBC接口连接MySQL数据库。 MySQL数据库是一个跨平台的开方源码的关系型数据库管理系统,支持SQL,支持客户-服务器结构。具有体积小、...

weixin_38647056的博客 479
下一篇: Java异常处理基础教程详解(一)
DuCeh
博客等级 码龄10年 7粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值