[Java Web]JDBC综合实践->Java操作MySQL数据库(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
简介: [Java Web]JDBC综合实践->Java操作MySQL数据库

本文介绍JDBC的实践案例,是对JDBC的综合操作讲解(文中附有详细代码)

了解并熟悉JDBC,请看我的另一篇文章:

image.png

1、需求

需求:完成商品品牌数据的增删改查操作(增删改查)

       ①查询:查询所有数据

       ②添加:添加品牌

       ③修改:根据id修改

       ④删除:根据id删除

2、工程目录

最终完成后的工程目录如下:

       

2.1、工程目录说明

该工程下的JDBC模块存放此次实践案例的相关文件。

模块下创建了两个文件:lib和src。

       lib放的是需要的驱动jar包

       src放的是主要实现代码和Druid框架的配置文件druid.properties。

2.2、src文件

src下有两个二级包,分别为com.operation和com.sql。

       ①operation包下有两个类:分别是encapsulationTool封装工具类和operations操作类。

               encapsulationTool的内容是把表单信息添加进实体类,后续有详细说明

               operations是本次的主体,里面包含了所有本次需求的实现代码

       ②sql包下有两个类:分别是information表单信息类和sqlInitialForMySQL初始化

               information是MySQL中的commodity数据库中的information表的实体类

               sqlInitialForMySQL是将JDBC的八个步骤中一些相同的步骤提取出来单独成类来实现,

                       以达到简化代码量的效果

3、准备工作

3.1、⭐开启MySQL

本次的实践案例连接的是本地的MySQL数据库,所以要记得开启本地的MySQL服务。

如果不开启服务,所有的操作一律报错。

操作:

       win+R,cmd,按住Ctrl+Shift+Enter,以管理员模式打开终端。

       命令->开启:net start mysql

                 关闭:net stop mysql

3.2、数据初始化

接下来要先创建一个commodity商品类型的数据库,在该数据库中创建一个information表单来存储信息,在information表单中创建具体的表存储信息。如下:

information表中依次存放六种信息:

       id:唯一标识,使用主键约束(primary key),设置自动增长(auto_increment);

       brand:品牌名称

       company:公司名称

       sort:排序字段 (注:在本次实践案例中暂时没用上)

       description:描述信息

       status:状态信息,只有0和1两种,分别代表禁用、启用。 (注:在本次实践案例中暂时没用上)

3.3、导入驱动包

本次案例实践的驱动包一共有四个:

       druid-1.1.12.jar

       hamcrest-core-1.3.jar

       junit-4.13.1.jar

       mysql-connector-java-5.1.48.jar

将上述四个驱动包导入到lib文件夹,并添加到项目依赖中。

3.4、驱动包介绍

Druid和MySQL驱动包的解释,详细查看我的另一篇文章中的 "5、数据库连接池" :

image.png

junit驱动主要是用来编写单元测试类,代替实践案例中所需要的main方法。

如果不导入hamcrest驱动,使用junit的测试注解会出现问题:

3.5、回顾JDBC代码步骤

3.5.1、原先步骤

3.5.2、🔺🔺改进步骤

说明:

       在原来的JDBC八个步骤中,第一步导入jar包的操作,在一开始已经完成了;

       第二部注册驱动,在MySQL 5开始的驱动包中不需要手动注册,会自动扫描驱动

       第三步获取连接,原来的获取方式有造成资源浪费的明显缺点,所以由连接池代替

       第五步获取执行对象,存在SQL注入漏洞,所以由获取预编译执行对象代替

所以,改进完成之后的JDBC操作为十个步骤:

  1. 导入相关jar包
  2. 定义Druid的druid.properties配置文件
  3. 加载配置文件
  4. 获取连接池对象
  5. 获取连接
  6. 定义SQL
  7. 获取预编译SQL执行对象
  8. 执行SQL
  9. 处理结果
  10. 释放资源

4、代码实现

4.1、druid.properties

关于这个配置文件的书写,详细查看我另一篇文章中的 "5.3.2、定义配置文件":

image.png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
人工智能 运维 关系型数据库
云栖大会|AI时代的数据库变革升级与实践:Data+AI驱动企业智能新范式
2025云栖大会“AI时代的数据库变革”专场,阿里云瑶池联合B站、小鹏、NVIDIA等分享Data+AI融合实践,发布PolarDB湖库一体化、ApsaraDB Agent等创新成果,全面展现数据库在多模态、智能体、具身智能等场景的技术演进与落地。
|
2月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
3月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
386 1
|
3月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
379 0
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
7月前
|
前端开发 算法 API
构建高性能图像处理Web应用:Next.js与TailwindCSS实践
本文分享了构建在线图像黑白转换工具的技术实践,涵盖技术栈选择、架构设计与性能优化。项目采用Next.js提供优秀的SSR性能和SEO支持,TailwindCSS加速UI开发,WebAssembly实现高性能图像处理算法。通过渐进式处理、WebWorker隔离及内存管理等策略,解决大图像处理性能瓶颈,并确保跨浏览器兼容性和移动设备优化。实际应用案例展示了其即时处理、高质量输出和客户端隐私保护等特点。未来计划引入WebGPU加速、AI增强等功能,进一步提升用户体验。此技术栈为Web图像处理应用提供了高效可行的解决方案。
|
4月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
521 64
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
136 13
|
3月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
199 8
|
4月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
333 1

热门文章

最新文章

推荐镜像

更多