【MySQL】JDBC编程

作者主页:paper jie_博客****

本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。

本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将MySQL基础知识一网打尽,希望可以帮到读者们哦。

其他专栏:《算法详解》《C语言》《javaSE》《数据结构》等

内容分享:本期将会分享Java的JDBC编程

目录

JDBC是什么

JDBC的工作原理

JDBC的使用

准备数据库驱动包

将驱动包添加到项目中

正式使用

[1. 创建数据源](#1. 创建数据源)

[2. 连接数据库服务器](#2. 连接数据库服务器)

[3. 构造sql语句](#3. 构造sql语句)

[4. 将构造的sql语句传送给服务器执行](#4. 将构造的sql语句传送给服务器执行)

[5. 将资源释放](#5. 将资源释放)

最终代码


JDBC是什么

JDBC即java数据库连接. 是一种用于执行SQL语句的Java API, 它是Java中的数据坤连接的规范.这个API由java.sql.*,javax.sql.*包中的一些类和接口组成的,它为Java开发人员操作数据库提供了一个标准的API,可以为多种数据库提供统一访问. 如: MySQL提供了Java的驱动包mysql-connector-java, 需要基于Java操作MySQL需要使用该驱动包.

JDBC的工作原理

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

java访问数据库操作就是完全面向抽象接口编程的

开发数据库应用不用限定在特定的数据库厂商的API

程序的可移植性高

JDBC的使用

准备数据库驱动包

MySQL驱动包我们可以去mvnrepository.com 这个地址里下载到本地:

在索引上搜MySQL,我们点击第二个.

进去后,会有多个版本,这里都是可以用的,这里我们使用49版.

点击下载.

将驱动包添加到项目中

在我们的项目中创建一个文件夹,可以命名为lib,再将驱动包mysql-connector-java-5.1.49.jar复制到lib中.这个包是不用解压的,我们可以通过Java来将里面的接口和类引入进来:

创建lib文件:

将驱动包复制过来,直接ctrl+v

将包配置进项目中:

正式使用

这里我们在main方法内使用

1. 创建数据源

jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false 这一长串可以理解为让java知道数据库在哪里位置,这个每个人的地址都是不一样的,因人而异

java 复制代码
//1. 创建数据源 数据源里提供了数据库在哪里,用户名,密码
        DataSource dataSource = new MysqlDataSource();
        //数据库位置
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false");
        //用户名
        ((MysqlDataSource) dataSource).setUser("root");
        //密码
        ((MysqlDataSource) dataSource).setPassword("123456");

2. 连接数据库服务器

这里就好比要建立一个java与mysql传送操作的通道:

java 复制代码
//2. 连接数据库服务器
Connection connection = dataSource.getConnection();

3. 构造sql语句

这里用String来构造sal语句,再构造后要注意将sql语句转换为语句对象.

java 复制代码
        //3. 构造sql语句
        String sql = "insert into course values(11, '物理')";
        //需要将sql语句转换为语句对象
        PreparedStatement statement = connection.prepareStatement(sql);

这里有两个接口可以将sql语句转换,PreparedStatement, Statement. PrepareStatement是预处理后的结果,而Statement是没有预处理的,所以我们使用PrepareStatement

4. 将构造的sql语句传送给服务器执行

这里有两个方法可以使用,executeUpdate和executQuery,第一个得到的是执行sql的次数,第二个是结果集合

java 复制代码
        //4. 将构造好的sql传送给服务器执行
        //得到的是执行sql的次数
        int n = statement.executeUpdate();
        //得到的是执行sql的结果集
        statement.executeQuery();

5. 将资源释放

释放资源是从后往前释放:

java 复制代码
        //5. 将资源释放
        statement.close();
        statement.close();

最终代码

java 复制代码
public class Test {

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

        //1. 创建数据源 数据源里提供了数据库在哪里,用户名,密码
        DataSource dataSource = new MysqlDataSource();
        //数据库位置
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false");
        //用户名
        ((MysqlDataSource) dataSource).setUser("root");
        //密码
        ((MysqlDataSource) dataSource).setPassword("123456");

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

        //3. 构造sql语句
        String sql = "insert into course values(15, '物理')";
        //需要将sql语句转换为语句对象
        PreparedStatement statement = connection.prepareStatement(sql);


        //4. 将构造好的sql传送给服务器执行
        //得到的是执行sql的次数
        int n = statement.executeUpdate();
        //得到的是执行sql的结果集
       // statement.executeQuery();

        //5. 将资源释放
        statement.close();
        statement.close();

    }


}

总结

  1. 获取数据源

  2. 创建连接通道

  3. 构造sql语句

  4. 将sql传送给服务器执行

  5. 释放资源


相关推荐
苹果酱056732 分钟前
「Mysql优化大师一」mysql服务性能剖析工具
java·vue.js·spring boot·mysql·课程设计
Minxinbb34 分钟前
MySQL中Performance Schema库的详解(上)
数据库·mysql·dba
滚雪球~34 分钟前
2002 - Can‘t connect to server on ‘192.168.1.XX‘ (36)
mysql·navicat
mmsx2 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
zpjing~.~3 小时前
Mongo 分页判断是否有下一页
数据库
2401_857600953 小时前
技术与教育的融合:构建现代成绩管理系统
数据库·oracle
秋恬意3 小时前
Mybatis能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别
java·数据库·mybatis
潇湘秦3 小时前
一文了解Oracle数据库如何连接(1)
数据库·oracle
雅冰石3 小时前
oracle怎样使用logmnr恢复误删除的数据
数据库·oracle
web前端神器3 小时前
mongodb给不同的库设置不同的密码进行连接
数据库·mongodb