【MySQL】Java实现JDBC编程

文章目录

    • [1. JDBC](#1. JDBC)
    • [2. 添加驱动包](#2. 添加驱动包)
    • [3. 编程](#3. 编程)
      • [3.1 创建数据源](#3.1 创建数据源)
      • [3.2 与数据库建立连接](#3.2 与数据库建立连接)
      • [3.3 构造SQL语句](#3.3 构造SQL语句)
      • [3.4 执行SQL语句](#3.4 执行SQL语句)
      • [3.5 释放资源,关闭连接](#3.5 释放资源,关闭连接)

1. JDBC

数据库编程必须掌握至少一门编程语言,一种数据库,会导入数据库驱动包。

操作和连接不同数据库都需要一种连接的软件组件,即数据库驱动包。数据库驱动包中包含了与特定数据库相对应的API,使得应用程序可以与数据库进行通信。而不同的数据库提供的API都不相同,从而造成很麻烦,这个时候JDBC就应运而生了,让Java连接数据库变得简单。
JDBC ,即Java Database Connectivity,Java数据库连接。它是一个标准的Java API,用于将Java程序与数据库连接。JDBC提供了一组用于编写可以访问关系型数据库(如MySQL、Oracle和Microsoft SQL Server)的应用程序的接口和类。

我这里使用的Java连接操作MySQL。

2. 添加驱动包

我们可以在中央仓库中找到我们所需驱动包API。(当然也可以在Oracle,GitHub中下载)
Maven存储库

  1. 在搜索栏直接搜索MySQL
  2. 找到我们需要的MySQL,Java
  3. 点开,选择我们需要的版本(我这里选择5.1.49)
  4. 下载完成,一个 .jar压缩文件
  5. 将. jar文件导入项目中,创建一个目录,直接复制就行
  6. 右键这个包,点击Add as Library...,使idea知道导入了这个

    点击ok,就完成了添加驱动包。

3. 编程

编程看着麻烦,其实就是固定模板,多使用几次便会掌握了。

3.1 创建数据源

java 复制代码
 		//创建"数据源"
 		//向上转型,DataSource是JDBC提供的interface,MysqlDataSource是MySQL驱动包提供的interface
        DataSource dataSource = new MysqlDataSource();
        //setUrl,setUser,setPassword三个方法都是子类的方法,我们可以强转一下,也可以直接使用,但当代码十分复杂的时候,有可能造成代码耦合。
        //方法里面的东西格式是固定的,IP是你电脑的IP,xiaoc是你要关联的数据库名字,替换成你要操作的数据库名字。
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/xiaoc?characterEncoding=utf8&useSSI=false");
        //这一步是提供用户名,一般都是root
        ((MysqlDataSource) dataSource).setUser("root");
        //提供你的密码
        ((MysqlDataSource) dataSource).setPassword("131452");

3.2 与数据库建立连接

java 复制代码
        //和数据库建立连接
        //一个Java程序,用于来连接数据库服务器
        Connection connection = dataSource.getConnection(


注意:
选择Connection时,一定要选择java.sql,上面那个时不可以的

3.3 构造SQL语句

java 复制代码
		// 构造 SQL 语句
		//本身SQL语句时String类型,但JDBC提供了Statement对象,让我们转换一下再发送。Statement直接发送语句不做任何检查,我们也可以使用PreparedStatement在客服端进行初步的检查,降低服务器的负担。
        String sql = "insert into student values(111,小辰)";
        PreparedStatement statement = connection.prepareStatement(sql);

3.4 执行SQL语句

java 复制代码
        // 执行 SQL 语句---返回值影响几行
        int n = statement.executeUpdate();
        System.out.println("n = " + n);

executeQuery,executeUpdate都是Statement中的方法,前者用于查询,后者用于增加,删除

,修改,返回类型是一个整型。

3.5 释放资源,关闭连接

java 复制代码
        //释放资源,关闭连接
        //Java虽然有垃圾回收机制,释放内存,但计算机资源不止内存,所以我们还需要手动释放,这个时候我们需注意释放顺序,倒着来,先创建的后关闭。
        statement.close();
        connection.close();

这是插入的程序,其他的操作和这区别不大,大家可以自己探索。

相关推荐
在努力的前端小白3 小时前
Spring Boot 敏感词过滤组件实现:基于DFA算法的高效敏感词检测与替换
java·数据库·spring boot·文本处理·敏感词过滤·dfa算法·组件开发
麦兜*4 小时前
Swift + Xcode 开发环境搭建终极指南
开发语言·ios·swiftui·xcode·swift·苹果vision pro·swift5.6.3
萧鼎5 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
一叶飘零_sweeeet5 小时前
从繁琐到优雅:Java Lambda 表达式全解析与实战指南
java·lambda·java8
艾伦~耶格尔6 小时前
【集合框架LinkedList底层添加元素机制】
java·开发语言·学习·面试
yujkss6 小时前
Python脚本每天爬取微博热搜-终版
开发语言·python
yzx9910136 小时前
小程序开发APP
开发语言·人工智能·python·yolo
一只叫煤球的猫6 小时前
🕰 一个案例带你彻底搞懂延迟双删
java·后端·面试
最初的↘那颗心6 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
啊阿狸不会拉杆7 小时前
《算法导论》第 32 章 - 字符串匹配
开发语言·c++·算法