网站首页 > 编程文章 正文
一、为什么需要JDBC?
与数据库建立连接
发送 SQL 语句
处理结果
二、JDBC概述
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中)
即JDBC技术包含两个部分:
(1)java.sql包和javax.sql包中的API
因为为了项目代码的可移植性,可维护性,SUN公司从最初就制定了Java程序连接各种数据库的统一接口规范。这样的话,不管是连接哪一种DBMS软件,Java代码可以保持一致性。
(2)各个数据库厂商提供的jar
因为各个数据库厂商的DBMS软件各有不同,那么内部如何通过sql实现增、删、改、查等管理数据,只有这个数据库厂商自己更清楚,因此把接口规范的实现交给各个数据库厂商自己实现。
三、JDBC使用步骤
1、下载JDBC的jar包
进入MySQL的官网去下载:MySQL :: MySQL Community Downloads
下载后,进行解压。解压后会进入文件夹可以看到jar文件,这个就是jar包
2、创建数据库信息
create database testJDBC;
use testJDBC;
create table user(
id int primary key auto_increment,
username varchar(20),
password varchar(20),
nickname varchar(20)
);
INSERT INTO `USER` VALUES(null,'xh','6765','猫');
INSERT INTO `USER` VALUES(null,'xm','794556','狗');
INSERT INTO `USER` VALUES(null,'hh','7894656','喜洋洋');
3、创建java项目
创建后的项目:
4、添加jar进项目
4.1、创建lib目录
在项目文件夹上,右键->New->Directory
4.2、将解压的jar复制-粘贴到lib目录中
3.3、加载jar包
右键lib文件夹"Add as Library..."
当 jar 包左边出现了三角形折叠标志,就表示加载了 jar 包,以后的手动导入 jar 包可以放里面.
4、java代码实现
package main;
import java.sql.*;
public class TestJDBC {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//加载并注册驱动
//MySQL版本5.1之前,驱动程序类名为"com.mysql.jdbc.Driver"
// MySQL版本5.1之后,驱动程序类名为"com.mysql.cj.jdbc.Driver"。
Class.forName("com.mysql.cj.jdbc.Driver");
/**
* mysql的url:jdbc:mysql://localhost:3306/数据库名?参数名=参数值
*
* useUnicode=true:如果将"useUnicode"参数设为"true",则JDBC将使用Unicode字符集在Java应用程序和MySQL之间进行转换。
* 如果将其设为"false",则使用JDBC默认字符集与Java应用程序和MySQL之间进行转换。
* 通常情况下,建议将"useUnicode"参数设置为"true",以便在与数据库进行交互时能够正确处理所有字符集。
*
* characterEncoding=utf8:将字符编码设置为utf8。
* 如果JDBC程序与服务器端的字符集不一致,会导致乱码,那么可以通过参数指定服务器端的字符集
*/
String url = "jdbc:mysql://localhost:3306/testJDBC?useUnicode=true&characterEncoding=utf8";
//MySQL的用户名
String user = "root";
//MySQL的密码
String password = "123456";
/**
* 获取连接
* 在Java中,通过JDBC API与MySQL数据库进行交互时,必须首先建立与数据库的连接。
* 使用DriverManager.getConnection()方法创建一个与数据库的连接.
* DriverManager是Java JDBC API提供的一个基本类,负责将Driver驱动注册到JDBC中,然后使用它来与数据库建立连接。
* 在表达式中,使用getConnection()方法获取连接,这个连接将由JDBC连接池管理。
*/
Connection connection = DriverManager.getConnection(url, user, password);
//编写SQL语句
String sql = "select *from user";
//创建执行sql语句对象
Statement statement = connection.createStatement();
/**
* 执行sql语句
* 增删改:调用executeUpate方法
* 查询:调用executeQuery方法
*/
ResultSet resultSet = statement.executeQuery(sql);
/**
* 处理结果:
* 增删改:返回的是整数值,表示受到影响的数据条数
* 查询:返回ResultSet结果
*
* - boolean next():判断是否还有下一行
* - getString(字段名或序号),getInt(字段名或序号),getObject(字段名或序号)
*/
while (resultSet.next()) {
//获取每一列的数据
System.out.println(resultSet.getObject(1));
System.out.println(resultSet.getObject(2));
System.out.println(resultSet.getObject(3));
System.out.println(resultSet.getObject(4));
}
/**
* 关闭资源
* 原则是后创建的资源先关闭,我们会依次关闭ResultSet、Statement、Connection对象
*/
if(resultSet != null){
resultSet.close();
}
if(statement != null){
statement .close();
}
if(connection != null){
connection.close();
}
}
}
四、总结:JDBC程序访问数据库步骤
猜你喜欢
- 2024-09-08 JDBC数据库连接怎么操作?(jdbc连接数据库实例)
- 2024-09-08 mysql 5 & 8 JDBC的差别(mysql和jdbc的关系)
- 2024-09-08 肝!Spring JDBC持久化层框架“全家桶”教程
- 2024-09-08 0467-Hadoop SQL客户端工具之Dbeaver安装及使用
- 2024-09-08 离线端Pycharm中Database工具数据库驱动程序的安装
- 2024-09-08 JDBC数据库开发(一)(jdbc如何实现数据库访问)
- 2024-09-08 0312-如何在Kerberos环境下使用Spark2通过JDBC访问Impala
- 2024-09-08 Kafka连接器深度解读之JDBC源连接器
- 2024-09-08 JDBC、SQL注入攻击原理以及解决方案
- 2024-09-08 大数据开发基础之JAVA基础-JDBC基础知识
你 发表评论:
欢迎- 05-09Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 05-09《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- 05-09MapStruct架构设计(mapstruct @mapping)
- 05-09分布式微服务架构组件(分布式微服务架构设计)
- 05-09Java Swing组件下的JButton实例(java swing 组件)
- 05-09java基础都在这了,小主们拿去吧(java基础是指什么)
- 05-09AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 05-09【Spring Boot】WebSocket 的 6 种集成方式
- 最近发表
-
- Spring Boot3 RESTful 接口参数校验,这篇吃透就够了!
- 《Spring6》第02节:基于XML方式搭建Spring6框架开发环境
- MapStruct架构设计(mapstruct @mapping)
- 分布式微服务架构组件(分布式微服务架构设计)
- Java Swing组件下的JButton实例(java swing 组件)
- java基础都在这了,小主们拿去吧(java基础是指什么)
- AOP的实现落地(拦截过滤),一切都要从Servlet说起
- 【Spring Boot】WebSocket 的 6 种集成方式
- Java 中五种最常见加密算法:原理、应用与代码实现
- 用注解进行参数校验,spring validation介绍、使用、实现原理分析
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)