首页 > 数据库 >零基础轻松入门Java数据库连接(JDBC)

零基础轻松入门Java数据库连接(JDBC)

时间:2024-04-07 13:58:43浏览次数:31  
标签:JDBC Java String 数据库 pstmt 连接 入门

什么是JDBC?

Java数据库连接(JDBC)就像是Java程序和数据库之间的翻译官。它是一个官方的标准接口集,让Java程序能和不同的数据库“对话”。甭管你是在跟MySQL、Oracle还是SQL Server打交道,只要有了JDBC,Java就能用统一的方式去执行查询、更新数据库的操作。

为什么我们需要JDBC?

想象一下,如果没有JDBC,每当你换了一个数据库类型,可能就需要重新学习一套新的接口来操作数据库,那多麻烦啊!而JDBC就是那个通用的语言工具箱,让你写一次代码就能适应大部分数据库环境。

JDBC编程的基本步骤 - “五步走”

1.引入驱动依赖

  1. • 想要Java和数据库交流,首先得有数据库对应的“翻译手册”,也就是JDBC驱动包。在Java项目中,通常通过添加jar文件或Maven/Gradle依赖的方式导入这个驱动。

2.加载并注册驱动

• 虽然现代Java版本可以省略这一步(因为DriverManager会自动加载),但在一些老版本或者特定场景下,你需要显式地告诉Java系统使用哪个数据库的驱动:

Class.forName("com.mysql.jdbc.Driver"); // 以MySQL为例

注意,每个数据库对应的驱动类名可能会不同,这里只是举例。

3.建立数据库连接

  1. • 使用DriverManager.getConnection()方法创建到数据库的连接,就像拨通电话一样:

  2. String url = "jdbc:mysql://localhost:3306/mydatabase";
    String username = "root";
    String password = "yourpassword";
    Connection conn = DriverManager.getConnection(url, username, password);

    url包含了数据库服务器地址、端口以及你要连接的数据库名称。

url包含了数据库服务器地址、端口以及你要连接的数据库名称。

4.创建并执行SQL语句

• 创建Statement或PreparedStatement对象来准备SQL语句。PreparedStatement更安全,可以防止SQL注入,并且支持预编译:

String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "newuser");
pstmt.setString(2, "securepass");
pstmt.executeUpdate(); // 执行插入操作

使用.executeQuery()来执行查询语句,并获取结果集(ResultSet)。

5.处理结果并关闭资源

  1. • 如果执行的是查询操作,别忘了从ResultSet里读取数据,然后关闭所有打开的资源,以释放数据库连接:

ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
    String name = rs.getString("username");
    System.out.println(name);
}
rs.close();
pstmt.close();
conn.close();

总结

通过以上五个基本步骤,一个Java程序就能够成功地与数据库进行交互了。记住,JDBC是Java应用程序与数据库沟通的桥梁,熟练掌握JDBC操作不仅可以帮助你高效地存取数据,还能确保程序的安全性和稳定性。

标签:JDBC,Java,String,数据库,pstmt,连接,入门
From: https://blog.csdn.net/qq_33449977/article/details/137407633

相关文章

  • JavaScript中,...(三个点)是扩展运算符
    在JavaScript中,...(三个点)是扩展运算符(SpreadOperator)和剩余参数(RestParameters)的语法。它确实可以用来“展开”对象的属性或数组的元素。展开对象的属性对于对象,扩展运算符可以用来将一个对象的所有可枚举属性复制到新对象中,或者与现有的对象属性合并。javascript复制代码......
  • 数码摄影基础入门,新手摄影资料大全
    一、资料前言本套新手摄影资料,大小2.44G,共有125个文件。二、资料目录(一)、新手摄影基础入门7小时精通数码单反摄影百种技巧.pdfCanon单反摄影入门.pdf[摄影师的视界——迈克尔弗里曼摄影构图与设计].pdf[数码摄影构图].郑承益.扫描版.pdf《10天学通摄影入门教程》.p......
  • Java中的继承
    一、继承1.1为什么需要继承在写代码过程中两个类之间可能存在大量重复的代码,如何把这些重复的代码提取出来简化代码呢?面向对象思想中提出了继承的概念,专门用来进行共性抽取,实现代码复用。1.2继承的概念 继承(inheritance):是面向对象程序设计使代码可以复用的最重要......
  • 5G网络建设【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-5G网络建设现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间架设光纤的成本各不相同,且有些节点之间已经存在光纤相连,请你设计算法,计算出能联通这些基站的最小成本是......
  • 项目排期【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。输入描述:第一行输入为M个需......
  • 找城市【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-找城市一张地图上有n个城市,城市和城市之间有且只有一条道路相连:要么直接相连,要么通过其它城市中转相连(可中转一次或多次)。城市与城市之间的道路都不会成环。当切断通往某个城市i的所有道路后,地图上将分为多个连通的城市群,设该城市i的聚集度为DPi(DegreeofP......
  • 电脑病毒感染【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-电脑病毒感染一个局域网内有很多台电脑,分别标注为0-N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长时间。如果最后有电脑不会感染,则返回-1给定一个数组times表示......
  • 两个字符串间的最短路径问题【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-两个字符串间的最短路径问题给定两个字符串,分别为字符串A与字符串B。例如A字符串为ABCABBA,B字符串为CBABAC可以得到下图m*n的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,映射成坐标系如下图。从原点(0,0)到(0,A)为水平边,距离为1,从(0,A)......
  • Python量化交易系统实战--量化交易入门
    作者:麦克煎蛋  出处:https://www.cnblogs.com/mazhiyong/转载请保留这段声明,谢谢! 这个系列的文章主要是基于慕课网的量化交易学习的笔记,顺便也加了自己的一些理解和优化。一边学一边写,回头再梳理。  量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞......
  • java中大型医院HIS系统源码 Angular+Nginx+SpringBoot云HIS运维平台源码
    java中大型医院HIS系统源码Angular+Nginx+SpringBoot云HIS运维平台源码云HIS系统是一款满足基层医院各类业务需要的健康云产品。该产品能帮助基层医院完成日常各类业务,提供病患预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站和护士工作站等一......