我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中的JDBC编程该如何分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中的JDBC编程该如何分析

这期内容当中小编将会给大家带来有关MySQL中的JDBC编程该如何分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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

编程语言,如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中的JDBC编程该如何分析

四、开发环境搭建

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

MySQL中的JDBC编程该如何分析

MySQL中的JDBC编程该如何分析

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

MySQL中的JDBC编程该如何分析

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

MySQL中的JDBC编程该如何分析

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

MySQL中的JDBC编程该如何分析

MySQL中的JDBC编程该如何分析

MySQL中的JDBC编程该如何分析

MySQL中的JDBC编程该如何分析

 没有报错一直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();     }}

MySQL中的JDBC编程该如何分析

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();    }}

MySQL中的JDBC编程该如何分析

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();      }}

MySQL中的JDBC编程该如何分析

MySQL中的JDBC编程该如何分析

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编程该如何分析

上述就是小编为大家分享的MySQL中的JDBC编程该如何分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中的JDBC编程该如何分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中的JDBC编程该如何分析

这期内容当中小编将会给大家带来有关MySQL中的JDBC编程该如何分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、数据库编程的必备条件编程语言,如Java,C、C++、Python等 数据库,如Or
2023-06-29

如何进行JDBC的分析

这篇文章给大家介绍如何进行JDBC的分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 数据库编程的基础条件如果你想实现代码操作数据库,那么以下条件是你实现它的前提编程语言:例如 Java、C++、Python 等
2023-06-22

如何分析Linux系统中的socket编程

这篇文章跟大家分析一下“如何分析Linux系统中的socket编程”。内容详细易懂,对“如何分析Linux系统中的socket编程”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“如
2023-06-28

Python线程编程中的Thread该如何理解

Python线程编程中的Thread该如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、线程编程(Thread)1、线程基本概念1.1、什么事线程线程被称为轻量级的
2023-06-22

shell编程中如何分析bash变量

本篇文章为大家展示了shell编程中如何分析bash变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。导读shell编程--bash变量介绍 ,变量是计算机内存的单元,其中存放的值可以改变。当 Sh
2023-06-05

如何分析Java中的异步网络编程

如何分析Java中的异步网络编程,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。目前java平台已经广泛应用于各类客户/服务器系统中,在实际编程中,往往需要网络的
2023-06-03

如何分析GNU和Linux的编程概念

今天就跟大家聊聊有关如何分析GNU和Linux的编程概念,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。学习GNU/Linux时,你可能会遇到不懂得问题,这里有GNU/Linux的全面
2023-06-17

如何分析C++中的编译与链接

如何分析C++中的编译与链接,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言:C++有个最大的特点,那便是编译型语言,相比于Python这种解释型语言,C++在编译阶段就
2023-06-21

如何分析一种简单JDBC连接池的实现

如何分析一种简单JDBC连接池的实现,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JDBC(Java Data Base Connectivity,java数据库连接)是一
2023-06-17

如何分析Linux消息队列编程

这期内容当中小编将会给大家带来有关如何分析Linux消息队列编程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。消息队列,Unix的通信机制之一,可以理解为是一个存放消息(数据)容器。将消息写入消息队列,然
2023-06-28

PHP中SOCKET编程的示例分析

这篇文章主要介绍了PHP中SOCKET编程的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 预备知识一直以来很少看到有多少人使用php的socket模块来做一些事
2023-06-15

Java异步编程中如何进行FutureTask源码分析

本篇文章给大家分享的是有关Java异步编程中如何进行FutureTask源码分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的异步编程是一项非常常用的多线程技术。但之
2023-06-19

如何进行Go编程语言的简单分析

今天就跟大家聊聊有关如何进行Go编程语言的简单分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Go 是一门用于并发编程的命令式编程语言,它主要由创造者 Google 进行开发,最初
2023-06-16

JavaScript中异步编程的示例分析

这篇文章给大家分享的是有关JavaScript中异步编程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。目的提升开发效率,编写易维护的代码引子问题请求时候为什么页面卡死??$.ajax({ url: "
2023-06-15

编程热搜

目录