MySQL五步走JDBC编程全解读

目录
  • 一、数据库编程的必备条件
  • 二、Java的数据库编程:JDBC
  • 三、JDBC工作原理
  • 四、开发环境搭建
  • 五、MySQL中的JDBC编程
    • 1、五步流程
    • 2、添加信息
    • 3、查询信息
    • 4、删除信息
    • 5、修改信息

一、数据库编程的必备条件

编程语言,如Java,C、C++、Python等 数据库,如Oracle,MySQL,SQL Server等 数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。同样的, 要基于Java操作Oracle数据库则需要Oracle的数据库驱动包ojdbc。

二、Java的数据库编程:JDBC

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。

三、JDBC工作原理

DBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包 含一些通用的接口类。

JDBC访问数据库层次结构:

四、开发环境搭建

首先在电脑服务当中查看自己MySQL的版本,然后进入maven仓库

因为我自己的版本是5.0之后的,所以我选择5.1.47,大版本要一致

下载jar即可,记住,jar包不能解压缩

接下来就在idea自己在根目录下创建文件夹,然后导入jar包

没有报错一直OK下去就没有啥问题,说明导入成功

五、MySQL中的JDBC编程

1、五步流程

建立数据库连接

// 加载JDBC驱动程序:反射,这样调用初始化com.mysql.jdbc.Driver类,即将该类加载到JVM方法
区,并执行该类的静态方法块、静态属性。
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection =
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?
user=root&password=root&useUnicode=true&characterEncoding=UTF-8");
//MySQL数据连接的URL参数格式如下:
jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值

创建操作命令(Statement)

Statement statement = connection.createStatement();

执行SQL语句

ResultSet resultSet= statement.executeQuery(
                "select id, sn, name, qq_mail, classes_id from student");

处理结果集

while (resultSet.next()) {
            int id = resultSet.getInt("id");
            String sn = resultSet.getString("sn");
            String name = resultSet.getString("name");
            int classesId = resultSet.getInt("classes_id");
            System.out.println(String.format("Student: id=%d, sn=%s, name=%s,
classesId=%s", id, sn, name, classesId));
       }

释放资源(关闭结果集,命令,连接)

//关闭结果集
if (resultSet != null) {
    try {
        resultSet.close();
   } catch (SQLException e) {
        e.printStackTrace();
   }
}
//关闭命令
if (statement != null) {
    try {
        statement.close();
   } catch (SQLException e) {
        e.printStackTrace();
   }
}
//关闭连接命令
if (connection != null) {
    try {
        connection.close();
   } catch (SQLException e) {
        e.printStackTrace();
   }
}

2、添加信息

首先创建一个数据库并且创建一个表

 create database java122;
 create table text(id int,name varchar(5),class_id int);
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class TextJDBC {
    //DataSource
    //Connection
    //PrepareStatement

    public static void main(String[] args) throws SQLException{
        //1、创建DataSource对象
         DataSource dataSource = new MysqlDataSource();
        //设置相关内容
        //URL User password
        //向下转型                     访问数据库   协议名        ip地址 要访问那个地址
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("180210");

        //2、和数据库连接.进行后续连接
        //connect生命周期较短
        Connection connection = dataSource.getConnection();

        //3、拼装SQL语句
        int id = 1;
        String name = "曹操";
        int class_id = 10;
        //?是一个占位符,可以把一个具体的变量的值替换到?
        String sql = "insert into text values(?,?,?)";
        PreparedStatement statement = connection.prepareStatement(sql);
        //1 2 3相当与?的下标
        statement.setInt(1,id);
        statement.setString(2,name);
        statement.setInt(3,class_id);
        System.out.println("statement:" + statement);

        //4、执行SQL语句
        int ret = statement.executeUpdate();
        System.out.println("ret:" + ret);

        //5、关闭相关资源
        //后创建的先释放,顺序不能错
        statement.close();
        connection.close();

    }
}

3、查询信息

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import javax.xml.transform.Source;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Text1 {

    public static void main(String[] args) throws SQLException {

        //1,创建实列
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("180210");

        //2,数据库连接
        Connection connection = dataSource.getConnection();

        //3,构造SQL语句

        String sql ="select * from text";
        PreparedStatement statement = connection.prepareStatement(sql);

        //4,执行SQL语句
        ResultSet resultSet = statement.executeQuery();
        while (resultSet.next()){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            int class_id = resultSet.getInt("class_id");
            System.out.println("id: " + id  + "name: " + name  + "class_id: " + class_id);
        }

        //5,关闭相关资源
        resultSet.close();
        statement.close();
        connection.close();
    }
}

4、删除信息

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class Textur2 {

    public static void main(String[] args) throws SQLException {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除学生的姓名:");
        String name = scanner.next();
        //1,创建实列
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("180210");

        //2,数据库连接
        Connection connection = dataSource.getConnection();

        //3,构造SQL语句
        String sql = "delete from text where name = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);

        //4,执行SQL
        int ret = statement.executeUpdate();
        if (ret == 1){
            System.out.println("删除成功");
        }else {
            System.out.println("删除失败");
        }

        //5,关闭资源
        statement.close();
        connection.close();

    }
}

5、修改信息

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class Text4 {

    public static void main(String[] args) throws SQLException {

        //修改信息
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入学生的id:");
        int id = scanner.nextInt();
        System.out.println("请输入修改学生姓名:");
        String name = scanner.next();

        //1,创建实列
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java122?characterEncoding=utf-8&useSSL=false");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("180210");

        //2,数据库连接
        Connection connection = dataSource.getConnection();

        //3,拼装SQL
        String sql = "update text set name = ? where id = ?";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setString(1,name);
        statement.setInt(2,id);
        //4,执行SQL
        int set = statement.executeUpdate();
        if (set == 1){
            System.out.println("修改成功");
        }else {
            System.out.println("修改失败");
        }

        //5,关闭资源
        statement.close();
        connection.close();
    }
}

到此这篇关于MySQL五步走JDBC编程全解读的文章就介绍到这了,更多相关MySQL JDBC编程内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JDBC如何访问MySQL数据库,并增删查改

    导入驱动包,加载具体的驱动类 导包: 新建一个Java Project文件,在此文件夹下新建Folder文件命名lib(此文件夹下放一些导入的包) 将mysql-connector-java-xxxx.jar拖进来,右键Build Path→Add to Build Path:(这里我用的是mysql-connector-java-8.0.20.jar) 加载具体的驱动类: Class.forName("com.mysql.cj.jdbc.Driver"); 与数据库建立连接conne

  • 详解Java使用JDBC连接MySQL数据库

    一:什么是数据库,为什么要有数据库? 数据,数据库,数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念. 数据库相信大家都耳熟能详了,其实数据库顾名思义就是存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的~ 可能有朋友就要打断我施法了,停停停,我们Java程序猿在IDEA里面和控制台你侬我侬,没有对象new个对象存储在内存JVM的堆上就行了,学数据库干啥啊? 这时候我们就需要了解到:内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运

  • MySQL数据库JDBC编程详解流程

    目录 一.数据库编程的必备条件 二.Java的数据库编程:JDBC 三.JDBC工作原理 四.JDBC开发步骤 五.JDBC操作步骤 六.优化JDBC的部分代码 1.获取数据库连接对象 2.操作命令对象Statement 3.ResultSet对象 4.总结 一.数据库编程的必备条件 编程语言: 如Java.C++.C.Python等 数据库: 如Oracle.MySQL.SQL Server等 数据库驱动包: 不同的数据库,要使用编程语言来操作时,就需要使用该数据库厂商提供的数据库驱动包. 如

  • JDBC连接MySQL并实现模糊查询

    场景: 在学习JDBC的语言中,每次都执行通用的几步:即注册驱动,获取连接,创建操作,处理结果,释放资源 过于复杂,因此不妨将上述步骤封装成工具类,只对外提供方法! 描述: 这是不使用工具类的封装写出来的代码,比较冗余复杂 package com.zdx.JDBC; import java.sql.*; public class JAVA1129_5 { public static void main(String[] args) { //设置空对象,注册驱动,获取连接,创建操作,处理结果集,释

  • MySQL数据库 JDBC 编程(Java 连接 MySQL)

    目录 1. 数据库编程的基础条件 2. Java 的数据库编程:JDBC 3. JDBC 访问数据库的层次结构 4. MySQL 数据库操作介绍 5. MySQL 驱动包的下载及添加到项目 6. JDBC 使用步骤 6.1 创建数据库源,连接 Connection 6.2 构造 SQL 语句,为执行的操作做准备 6.3 执行 SQL,并处理结果集 6.4 释放资源 6.5 JDBC 编程模板 7. JDBC 常用接口和类 7.1 DataSource 和 MysqlDataSource 7.2

  • MySQL五步走JDBC编程全解读

    目录 一.数据库编程的必备条件 二.Java的数据库编程:JDBC 三.JDBC工作原理 四.开发环境搭建 五.MySQL中的JDBC编程 1.五步流程 2.添加信息 3.查询信息 4.删除信息 5.修改信息 一.数据库编程的必备条件 编程语言,如Java,C.C++.Python等 数据库,如Oracle,MySQL,SQL Server等 数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需

  • MySQL详解进行JDBC编程与增删改查方法

    目录 Java的数据库编程JDBC 概念 使用步骤 利用JDBC实现增加(insert) 利用JDBC实现删除(delete) 利用JDBC实现修改(update) 利用JDBC实现查找(select) Java的数据库编程JDBC 概念 JDBC是一种用于执行sql语句的Java API,他是java中的数据库连接规范,这个API由一些接口和类组成.它为java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问 本质是通过代码自己实现一个MySQL客户端,通过网络和服务

  • 完成Windows系统整理五步走

    关于Windows系统的清理,虽然网上方法很多,其它只要做到简单的几条就可以了. 1.定期整理硬盘 严重的硬盘碎片会大幅度降低你的电脑响应速度.所以你就需要定期的对磁盘进行清理,磁盘清理非常简单,首先单击"开始",依次指向"所有程序"."附件"."系统工具",然后单击"磁盘清理".如果有多个驱动器,会提示您指定要清理的驱动器. 2.定期清理Windows注册表 防止注册表垃圾使用Registry First

  • 快速搭建SSM框架(Maven)五步曲的方法步骤

    项目完整搭建链接:https://gitee.com/DaNanHai04/ssm_parent.git 第一步 创建一个父工程: 导入父工程的pom坐标: <dependencies> <!--spring核心--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version

  • JDBC编程的详细步骤

    前言 JDBC,即Java Database Connectivity,java数据库连接.是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范.这个API由java.sql.,javax.sql. 包中的一些类和接口组成,它为Java开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问. JDBC访问数据库层次结构: 1.创建数据库连接Connection 一种是通过DriverManager(驱动管理类)的静态方法获取: // 加载JDBC驱动程序

  • 五步完成unity与微信(游戏)小程序交互创建视频

    本文基于minigame-unity-webgl-transform方案,此方案支持大部分Unity组件及方法,比较可惜的是目前版本不支持任何形式的Video播放(不管是MovieoTexture.VideoPlayer还是其他第三方的视频播放插件,比如AVPro.EasyMovieTexture). 而且当前版本中也无法通过微信的sdk来创建视频 通过unity与微信小程序交互的方式调用微信小程序原生sdk来创建视频 (目前仅支持覆盖在游戏界面上播放,无法做到类似videoplayer那样在场

  • JDBC编程实现文件、图片的存储方法

    本文实例讲述了JDBC编程实现文件.图片的存储方法.分享给大家供大家参考,具体如下: /* 实现的功能: 用数据库存储文本数据,并且读取出来放在当前项目里 分析: 难度不是很大,关键是掌握文件流,数据库的操作不是很多,但是文件流的读写比较多 日期:20131003 作者:烟大阳仔 */ public class Ckb_test { public static void main(String[] args) throws SQLException, IOException { // TODO

  • 五步把DVD转成RMVB压缩影片

    第一步,用smartripper将DVD的vob文件拷贝到硬盘上 1,将DVD光碟放入光驱,然后启动smartripper,软件会自动分析ifo文件产生vob文件的参数.如正片有几个章节等 2,设置ripper参数. 1)首先设置输出位置,用默认的名字就可以.如此可以弹出start按钮. 设置图片sr0 2)在stream processing 栏内选上"Ennable Stream Processing"开始选择声道和字慕,声道选择如普通话声道,如果是多声道的(如含有5ch或者2ch

随机推荐