Java的JDBC编程

Java 的 JDBC(Java Database Connectivity) 是一个用于连接和操作数据库的 API,JDBC屏蔽了不同数据库原生API之间的差异,使用同一套API接口来规范所有数据库的编程操作;

JDBC编程的基本步骤:

1.先能够安装 对应数据库的 驱动包。

MySQL第三方软件提供的驱动包(数据库厂商提供的具体实现)

中央仓库https://mvnrepository.com/

2.将jar包导入到项目中

1)在项目中创建目录,把.jar拷贝进来

2)右键这个lib目录(目录名字可以随便写)

然后点击ok即可,此时idea就可以解析出jar包里面的包含的内容

3.编写数据库代码

java 复制代码
// 1.创建数据源,描述了数据库服务器在哪
DataSource dataSource = new MysqlDataSource();

// 设置数据库所在的位置,当前是固定的写法
((MysqlDataSource)dataSource).setUrl("jdbc:jdbc:mysql://127.0.0.1:3306/test1?characterEncoding=utf8&useSSL=false");

	// url:唯一资源地址符,描述了互联网上的唯一的一个资源的位置
	// jdbc:mysql 这个url是给jdbc中的mysql来使用的
	// 127.0.0.1 数据库服务器所在的IP地址(本机地址)
	// 3306 使用IP地址是确定了主机,一个主机上跑着很多个程序,使用端口号来区分不同的程序
	// test1  访问的数据库名
	// characterEncoding=utf8  描述了请求的字符串编码方式,一般设成utf8
	// useSSL  关闭加密功能

//  设置用户名 和密码
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("");


// 2.和数据库建立连接(写jdbc代码本质上是实现一个MySQL客户端,要通过网络和服务器进行通信)
Connection connection = dataSource.getConnection();

// 3.构造一个SQL语句,来完成插入操作
String sql = "insert into student values(?,?)";
// jdbc中还需要搭配一个特定的对象,来描述这里的sql的情况
PreparedStatement statement = connection.prepareStatement(sql);

// 4.执行SQL语句  针对增,删,改,查使用executeUpdate来执行
//               针对 查,使用executeQuery来执行
// 执行就是给服务器发送网络请求了
// 返回结果的含义是,这个操作,影响到几行

int ret = statement.executeUpdate();
System.out.println("ret = " + ret);

// 5.断开和数据库的连接,并且释放必要的资源。
// 连接,本质上就是找个地方,记录一下"我和谁建立连接了"
// 当连接不再使用的时候,就需要释放连接,把之前的记录给"察除掉"
statement.close();
connection.close();
相关推荐
金銀銅鐵13 小时前
为什么枚举类中可以定义抽象方法
java·后端·ai编程
xiaoye-duck14 小时前
《C++ 项目:手写大模型接入 SDK》Gemini接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
文丑颜不良啊15 小时前
LeetCode1941~1960题目解析
java·leetcode
txxzjmzlh15 小时前
SpringBoot 统⼀功能处理
java·spring boot·后端
nice_lcj52017 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
码农小河6617 小时前
基于SSM+JSP+MySQL的在线医疗服务系统的设计与实现
java·开发语言·mysql
SL_staff18 小时前
从配置失效到逻辑复用:JVS-Logic 如何构建可治理的业务编排中枢
java·spring·产品
特立独行的猫A18 小时前
一份 Markdown 发十个平台:cspub 一稿多投
java·后端·python
文丑颜不良啊19 小时前
LeetCode1961~1980题目解析
java·leetcode
文丑颜不良啊20 小时前
LeetCode2001~2020题目解析
java·leetcode