JavaWeb基础第一章(MySQL数据库与JDBC)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: JavaWeb基础第一章(MySQL数据库与JDBC)

本篇博文是对Java Web及其与数据库交互的深入浅出的介绍,旨在为读者提供一站式指南。内容涵盖了Java Web的基础概念,包括数据库相关的基础知识、MySQL数据库的操作和管理,以及JDBC(Java数据库连接)的详细解析。博主通过示例和详尽的图片说明,逐步讲解了JDBC的快速入门方法,驱动管理、数据库连接对象、语句对象的使用,以及如何安全有效地使用预编译语句来防止SQL注入攻击。此外,文章还详细讨论了数据库连接池的概念,以及通过重用连接来提升性能和安全性的重要性。从基本概念到高级技巧,愿本文为Java后端开发和数据库管理的读者提供帮助。

一、JavaWeb介绍

二、数据库相关概念

三、MySQL数据库

MySQL相关的知识点可以看博主专栏:MySQL数据库:https://blog.csdn.net/du_xiaonan/

四、JDBC简介

1,概念:

Java数据库连接,用Java语言操作数据库,本质是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套接口(JDBC)变成,真正执行的代码是驱动jar包中的实现类

2,快速入门:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
 * JDBC快速入门
 */
public class JdbcDemo1 {
    public static void main(String[] args) throws Exception {
        //1. 导入驱动jar包
        //2.注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //3.获取数据库连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
        //4.定义sql语句
        String sql = "update account set balance = 2000 where id = 1";
        //5.获取执行sql的对象 Statement
        Statement stmt = conn.createStatement();
        //6.执行sql
        int count = stmt.executeUpdate(sql);
        //7.处理结果
        System.out.println(count);
        //8.释放资源
        stmt.close();
        conn.close();
    }
}

五、JDBC-API 详解 (DriverManager)

驱动管理类 作用:

1.注册驱动

2.获取数据库连接

Class.forName("com.mysql.jdbc.Driver");

六、JDBC-API 详解 (Connection)

数据库连接对象 作用:

1.获取执行SQL的对象

2.管理事务

普通执行SQL对象
Statement createStatement();
预编译SQL的执行SQL对象:防止SQL注入
PreparedStatement prepareStatement(sql);
执行存储过程的对象
CallableStatement prepareCall(sql);

七、JDBC-API 详解 (Statement)

executeUpdate(sql);  //执行DML、DDL语句  返回int类型
//返回值:(1)DML语句影响的行数    (2)DDL语句执行后,执行成功也可能返回0
executeQuery(sql);  //执行DQL语句  返回ResultSet类型
//返回值:(1)ResultSet jie'guo'ji

八、JDBC-API 详解 (ResultSet)

结果集对象:封装了DDL查询语句的结果
stmt.executeQuery(sql);   //执行DQL语句,返回ResultSet对象

使用步骤:

游标向下移动一行,并判断改行是否有数据:next()

获取数据:getXxx(参数)

//循环判断游标是否是最后一行末尾
while(rs.next()){
  rs.getXxx(参数);
}

九、JDBC-API 详解 (PreparedStatement)

SQL注入:通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。

原理:

好处:

预编译SQL,性能更高。

防止SQL注入,将敏感字符进行转义。

十、数据库连接池

数据库连接池简介:

数据库连接池是一个容器,负责分配,管理数据库连接(connection)。

它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。

释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏

好处:

资源重用

提升系统响应时间

避免数据库连接遗漏。

数据库连接池实现

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
【6月更文挑战第24天】Java JDBC的三大法宝简化数据库操作:①统一API接口,跨平台与各类数据库交互;②参数化查询,提升效率,防止SQL注入;③事务管理,确保数据一致性。通过这三个核心特性,开发者能更安全高效地处理数据库任务。示例代码展示了如何使用这些功能。
|
2天前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
18 3
|
2天前
|
Java 数据库连接 API
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
10 3
|
2天前
|
SQL 安全 Java
JDBC:Java与数据库的“月老红线”,你真的了解它吗?
【6月更文挑战第24天】JDBC是Java与数据库间的桥梁,简化了数据库交互。通过`DriverManager.getConnection()`建立连接,`PreparedStatement`执行SQL并设置参数,确保安全高效,`ResultSet`处理查询结果。这段代码展示了JDBC如何连接MySQL数据库,执行查询并打印结果,揭示了其作为“月老”的角色,使得数据操作变得简单。
|
2天前
|
SQL Java 数据库连接
惊!Java界的“金钥匙”:揭秘JDBC如何轻松开启数据库大门!
【6月更文挑战第24天】JDBC是Java连接数据库的关键,简化了数据操作。在Java项目中添加MySQL驱动后,通过`DriverManager.getConnection()`建立连接。示例代码展示了如何执行查询、处理`ResultSet`。JDBC提供了一致的接口,让开发者能轻松进行数据库交互,无论是新手还是专家,都能快速掌握,开启数据库开发之旅。
|
2天前
|
Java 关系型数据库 数据库连接
JDBC:Java与数据库的“黄金搭档”,为何它如此重要?
【6月更文挑战第24天】Java的JDBC是数据库连接的桥梁,统一API简化了与MySQL等各类数据库的交互,降低复杂性并提高效率。在库存系统示例中,JDBC允许无缝查询和更新,无需关注底层实现。作为“黄金搭档”,JDBC还支持事务、批处理等功能,确保性能和安全性,是Java开发者不可或缺的工具。
|
2天前
|
SQL Java 数据库连接
JDBC之旅:从陌生到熟悉的Java数据库连接之路
【6月更文挑战第24天】学习JDBC之旅,从新手到熟手的蜕变。通过`DriverManager.getConnection()`建立数据库连接,用`PreparedStatement`防止SQL注入。深入学习后,掌握事务管理、批处理等高级功能,应对连接异常和性能优化挑战,逐渐精通JDBC,体验编程乐趣与成长。JDBC成为开发者不可或缺的工具,开启数据库世界的大门。
|
1天前
|
SQL 存储 关系型数据库
黑马 Javaweb - MySQL 精华篇
黑马 Javaweb - MySQL 精华篇
3 0
|
1天前
|
SQL Java 关系型数据库
Java中的JDBC编程:从数据库连接到高级查询
Java中的JDBC编程:从数据库连接到高级查询
|
2天前
|
关系型数据库 MySQL Java
连接 MySQL 数据库使用 JDBC
连接 MySQL 数据库使用 JDBC
5 0