惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
AI
AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 热门话题
G
GRAHAM CLULEY
Cisco Talos Blog
Cisco Talos Blog
T
Tenable Blog
L
Lohrmann on Cybersecurity
Know Your Adversary
Know Your Adversary
A
Arctic Wolf
T
Threatpost
AWS News Blog
AWS News Blog
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cisco Blogs
F
Full Disclosure
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
I
InfoQ
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
Intezer
C
CERT Recently Published Vulnerability Notes
Last Week in AI
Last Week in AI
P
Privacy International News Feed
Scott Helme
Scott Helme
WordPress大学
WordPress大学
Simon Willison's Weblog
Simon Willison's Weblog
D
Docker
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Y
Y Combinator Blog
T
Tor Project blog
V
Visual Studio Blog
Spread Privacy
Spread Privacy
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
Google Online Security Blog
Google Online Security Blog
C
Check Point Blog
爱范儿
爱范儿
N
News and Events Feed by Topic
博客园 - 【当耐特】
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main

星空下的YZY

【生活随笔】终于可以试一试new Bing了 指定日期网页自动变灰 【学习记录】微信小程序tabBar与自定义navigationBar踩坑记录 这小小破站(摸鱼)一周年啦 【个人记录参考】Vue3搭建项目 【学习记录】CSS动画 【随笔】将备案接入服务商转为腾讯云 正则表达式 【随笔】模拟退火 【随笔】博弈题基础回顾 live2d-widget(看板娘)修改及部署至服务器 【生活随笔】又是一年226,祝自己生日快乐 【杂记】各类零碎笔记(不定期更新) 友链朋友圈4.X.X前端适配尝试【基于店长Akilar的旧版方案】 Java读写txt文件 Hexo中使用ECharts动态图表尝试 【随笔】通过必应的工具发现别的网站未经允许的转载 【暂不公开】YZY的ACM模板整理-java版 更换Butterfly主题及其美化记录
使用JDBC操作数据库
星空下的YZY · 2022-02-04 · via 星空下的YZY

前言:

JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。这个我之前尝试过,但是时间久了,我也怕自己忘了相关的内容,所以通过本文来回顾🤣

如有错误,欢迎大佬指正😆

【转载说明】本文优先发布于我的个人博客www.226yzy.com ,转载请注明出处并注明作者:星空下的YZY。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。

下载Mysql数据库驱动

由于Java 连接 MySQL 需要额外的驱动包,你可以通过下面的链接去下载你需要的版本

然后放在你的项目文件里

数据库驱动加载

有了驱动包之后就要进行数据库驱动加载

我当时写的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13

public static void DatabaseDrivenLoad()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e)
{
e.printStackTrace();
System.out.println("数据库驱动加载失败");
}
}

主要就是Class.forName("com.mysql.jdbc.Driver");这一句

数据库连接

数据库驱动加载后就是数据库连接

我当时写的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

public static void DatabaseConnection()
{
try
{
Conn.con = DriverManager.getConnection(
"jdbc:mysql:"
+ "//127.0.0.1:3306/test12?characterEncoding=utf-8",
"root", "");
System.out.println("数据库连接成功");
} catch (SQLException e)
{
e.printStackTrace();
System.out.println("数据库连接失败,请检查url或用户名及密码");
}
}

其实就是

1
2
String driver = "jdbc:mysql://127.0.0.1:3306/test“;
Connection con = DriverManager.getConnection(driver, "root", “123456");

driver代表数据库URL

root代表数据库账户

123456代表你对应的数据库密码

有中文乱码的问题?

不妨尝试一下在原来的数据库URL后面加上?characterEncoding=utf-8

数据查询

这里会使用到Statement接口ResultSet接口

创建接口对象

1
2
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery("select * from user12");

con是前面创建的Connection对象

res将是后续返回结果集的对象

我的使用参考如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
try
{
Statement stmt = Conn.con.createStatement();
ResultSet res = stmt.executeQuery("select * from book12");
while (res.next())
{
String id = res.getString("id");
String name = res.getString("name");
int typeid = res.getInt("typeid");
String writer = res.getString("writer");
String publisher = res.getString("publisher");
double price = res.getDouble("price");
int number = res.getInt("number");
Book book = new Book(id, name, typeid, writer, publisher, price,
number);
Conn.Books.add(book);
}
} catch (Exception e)
{
e.printStackTrace();
System.out.println("数据库书籍数据读取失败");
}

增删改数据

可以使用Statement对象executeUpdata()方法,通过不同的SQL语句实现运行增,删,改操作,返回更新的行数。

例如

1
2
3
String sql = "update user12 set name='" + name + "' where id='" + id
+ "' ";
state.executeUpdate(sql);

最后

暂时就写到这了,如有错误,欢迎大佬指正🤣

欢迎访问我的小破站https://www.226yzy.com/ 或者GitHub版镜像 https://226yzy.github.io/ 或Gitee版镜像https://yzy226.gitee.io/

我的Github:226YZY (星空下的YZY) (github.com)

【转载说明】本文优先发布于我的个人博客www.226yzy.com ,转载请注明出处并注明作者:星空下的YZY。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 星空下的YZY

打赏

  • 微信

    微信

  • 支付宝

    支付宝