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();
相关推荐
方也_arkling4 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮4 小时前
Spring Bean作用域与生命周期全解析
java·spring
风吹夏回4 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding4 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋94 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本4 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
xiaoshuaishuai85 小时前
C# 内存管理与资源泄漏
开发语言·c#
DIY源码阁5 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse