JDBC 实战 MYSQL 和 JSP 网站开发| 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习 JDBC 实战 MYSQL 和 JSP 网站开发.

开发者学堂课程【Java训练营第1期【5天玩转Java面向对象编程】:JDBC 实战 MYSQL 和 JSP 网站开发】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/349/detail/4085


JDBC 实战 MYSQL 和 JSP 网站开发


1. 网站开发历史。

一个是 Java 做数据库开发,之前课程讲述了 MYSQL 对象的基础概念。

行业知识

数据库编程在企业里面做项目开发,淘宝,微信,支付宝,大的项目都需要用到数据库。大型银行使用的都是 Oracle 数据库,而之后 MYSQL 占据了数据库首选的位置。如果没使用过数据库也无碍,它和电子表格很相似,电子表格是一种原始的数据管理软件,而 MYSQL 是更强的专业的这种大型数据存储软件。

Oracle 在国内主要是大的银行,例如工行,建行,也可能用多种数据库,互联网公司主要以 MYSQL 为主,或者是 MYSQL 源码改出的版本,淘宝最初创业时马云老师花了半年的时间创建出这个代码,最初是 PVP+ MYSQL 是马云从美国网站买回汉化改装,当时淘宝是没有支付宝这个概念的,支付宝后面是从淘宝独立出去的,这些是淘宝网站后期改成Java语言开发,数据库当然主要从外企挖的人才,主要典型的是 Oracle 公司,IBM 公司,还有 siim 公司,它是最初发明 Java 的公司,但是已经被 Oracle 收购了,这里其中有一些人进入了阿里,淘宝当时的数据库从MYSQL 切换到 Oracle,当年的 MYSQL 不完善

当年 Oracle 在银行里是比较成熟的,大企业一般用 Oracle,比较稳定,数据量大,淘宝业务需要这样数据库,先转 Java 后来转 Oracle,服务器一般买 IBM 的服务器,国际,一个厉害的服务器公司。

当年 sine 出来了,也想卖服务器,到它没有自己的数据库,所以买了 MYSQL,后面 sine 公司被 Oracle 买了,Oracle 有自己的数据库,开始收费使用,毕竟商业背景下市场是残酷的。MYSQL 有一个好处,诞生之处,就是开源的数据库,就是代码开放,任何人都可以查看。淘宝从 MYSQL 开始慢慢改,中间有一段时间从Oracle 签到了 MYSQL。

Oracle 付费,且维护数据库费用太贵了,当时的背景下,淘宝用 MYSQL,一是开源,二是免费。从公司的角度,为了省钱。技术角度,淘宝迁移逐步维护自己的淘宝 MYSQL 的一个分支,自己改变源码,改一些功能。从开始的看源代码,仿制扩展,逐步培养出数据库专家团队。

银行的钱必须要交,数据库,CPU 有多少核心,数据库是按照核心收费的,一台服务器有几个核心,就按照核心的数量收费。

企类似淘宝一般用 MYSQL 省钱,MYSQL 可以解决大家的一些问题,慢慢影响国有企业改造,现在大量企业开始使用 Java 和 MYSQL 的解决方案。

银行用 Oracle,从另一个角度相当于是放弃了人才的培养,腾讯,都开始开源的这种路线,腾讯也有 MYSQL的分支,对大企业,对技术的重视程度不如民营,阿里,腾讯,华为。


2.Java 数据库连接驱动 JDBC

Java 编程语音也是其中的一个语言,进行专业数据存取,要进行专业的数据库,如果用 Oracle 数据库,要提供一个驱动。

数据库自己安装部署,他有自己的标准的数据链接协议接口,用 Java 语言练习,包括建立网络链接,进行数据解析,也要遵守协议,Java 统一的数据库连接驱动JDBC。其他数据库也可以支持。

J代表 java,d代表 datebase,c代表 connect 的缩写,专门解决数据库问题,数据库有很多类。


3.ODBC 开放数据库连接

ODBC

1.微软提出的数据库接口标准: Open Database Connectivity

2.简称 ODBC,

3.开放数据库连接技术,解决不同异构数据库连接的问题

4.主要是 Windows 系统来用,支持多种数据库

5.现已成为 WOSA(The Windows Open System Architecture(Windows 开放系统体系结构))的主要部分

6.基于 Windows 系统一种数据库访问接口标准

7.用 ODBC 可以访问各类计算机上的 DB 文件,

8.也可以访问如 Excel 表和 ASCI 数据文件这类非数据库对象。


4.JDBC 与 ODBC 数据库连接

JDBC 与 ODBC 数据库连接

1.开放数据库连接(Open Database Connectivity  ODBC)解决不同异构数据库连接的问题

2.jdbc、 Java Data Base Connectivity Java 数据库连接技术

3.支持多种数据库 MySQL, Oracle, SQLServer 等

4.封装了各种数据库访问的 AP ,基础类库

5.jDBc 很像微软的 ADO.NET,C#的数据库连接技术

6.可以向数据库传递 SQL 语句命令,实现各种操作

7.也可以调用存储过程

8. SQLHelperMySQLHelper 和支持 Java 和C#工具类

9.现在普遍使用 ORM 框架,底层使用了 BC 和 ADO.NEI

'Hibernate Entity Framework), mybatis(Dapper)

如果提到 Java 的数据库链接,要操作不同的数据库,想起 JDBC 就可以,ODBC 有点关系。

 

5.JDBC 支持的数据库

功能最强的应该是 Oracle 数据库,还有一个 IBM DB2 数据库1-2银行用的比较多,Java 公司开发 Oracle 数据库,IBM公司开放 DB2 数据库,基本都是把数据库软件装在特定的服务器上,捆绑时销售。

正常我们买东西都是拼接的,苹果电脑尽量的硬件几乎是自己出产的,达到最优的状态。如果都是一个公司开发的话,整合性会好很多,也可以装在其他机器上。

微软仿制了一个数据库。

sybase 现在已经不存在,曾经和微软合作研究数据库。

7也是官营数据库,8比电子表格好一点,至少它是一个数据库。Excel 在办公时不超过一万行,小型公司够用。

MYSQ L最大的优势就是开源。


6.Java连接数据库JDBC

图片52.png

注意框架 JDBC,SQL 也是一种编程语言,诞生比较早,比 Java 早,有函数的概念。编写的时候用 SQL 语言,

任何一个数据库出来都有对应的一个驱动,一般公司用的都是比较普遍的数据库。

JDBC 连接数据库架构。

图片53.png

概念解释

API 是中文翻译接口,是  appucation 的缩写,如果服务器公开,就一定要用标准的接口,一定有标准的协议,软件之间转换数据。


7.Java JDBC 连接 MYSQL 实战

PHP+ MYSQL+ Linux

原始编程通过命令行操作 MYSQL 数据库,当如果用到命令时,有一个可视化管理带界面的软件。

早期的网站都是 PHP+ MYSQL+ Linux

安卓手机的操作系统就是改 Linux,数据库装好后,写一个例子,演示一下通过原始的命令行来操作 MYSQL。

早期的数据库没有界面的管理工具,程序入门复杂。有些包需要手动添加,可以用Maven 自动化构建数据,不需要寻找包。

新建一个链接,数据库通讯,然后关闭

图片54.png

图片55.png

下载一个数据库,新闻有标题和内容,用户有用户和密码。

把数据库装好,在数据库里面建一个淘宝。程序附近有目录,MYSQL 安装后,有菜单,查找 MYSQL。

图片56.png

图片57.png

 图片58.png

图片59.png

图片60.png

测定 MYSQL 有没有装成功可以通过 MYSQL 的服务,正常服务已经启动。MYSQL接受请求。这里一定要 MYSQL 的服务,MYSQL 后的状态进城 ID,正在运行。

用一个管理工具,演示一下如何新建数据库。

第一部本地安装完成数据库,新建连接,输入 local host,表示本机的意思,默认端口3206,密码1234。

点击链接测试,会出现成功的一样,点击确定。数据库装完,解压,双击点链接,再从新输入。测试成功后点确定。

点击莲绛就可以新疆数据库,先建立一个淘宝数据库。

小绿帽卸下来,解压,点击 ese,启动后可以配置数据库。

演示一下淘宝数据库

local host

重复上述,点确定。

配置完成后,新建数据库,右键,选中如图新建的选项,输入名字淘宝。建一个简单的数据库,确定后有图标,双击,右键选中表,会有新建表。选中路标,右键,给几个列,类型是 inter。再添加一个栏位,再添加一列。再添加栏位,ID表示编号,最大长度为100,保存后输入表名。

这时候输入数据就可以。

插入四缸数据

图片61.png

图片62.png

图片63.png

图片64.png

图片65.png

图片66.png


一个数据库可以建立多个表格,然后保存。表格里面的数字都可以。

用命令做也可以,选中 user,查询窗口,具体操作如图。

图片67.png

图片68.png

图片69.png

图片70.png

图片71.png

图片72.png

注意符号。

※代表所有的列

运行后有错误,增删改查。 

照 user 表做练习

打开 expliese,换一个项目类型,选择 other,右键 new,找 Mmen。选择第三个。下一步,如图。随便起一个项目名字。

有很多方式构造,项目类型。版本不一定对,太多了麻烦。

图片73.png

图片74.png

图片75.png

图片77.png

图片78.png

图片79.png

图片80.png

然后 finish,试一下。

驱动有很多版本,包在如图位置。在属性里面可以找到。

Maven 具物,可以写 JDBC 实战 MYSQL。

链接如下。

加载驱动

举行连接

执行命令

处理结果

接受结果

关闭链接

ssl 是一个安全链接协议。

执行查询命令,最后接受结果。

导入操作。



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
27天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
105 6
|
4天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
5天前
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
本文深入探讨了PHP与MySQL在动态网站开发中的应用实践,通过具体案例解析如何高效结合这两大技术构建数据驱动的Web应用。文章将涵盖环境搭建、基础语法回顾、数据库设计与操作、用户注册与登录系统实现等关键步骤,旨在为开发者提供一个从零到一的项目实战路径,展示PHP与MySQL协同工作的强大能力。 ####
|
27天前
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
49 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
27天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
64 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
14天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
39 5
|
21天前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
58 1
|
24天前
|
架构师 关系型数据库 MySQL
MySQL最左前缀优化原则:深入解析与实战应用
【10月更文挑战第12天】在数据库架构设计与优化中,索引的使用是提升查询性能的关键手段之一。其中,MySQL的最左前缀优化原则(Leftmost Prefix Principle)是复合索引(Composite Index)应用中的核心策略。作为资深架构师,深入理解并掌握这一原则,对于平衡数据库性能与维护成本至关重要。本文将详细解读最左前缀优化原则的功能特点、业务场景、优缺点、底层原理,并通过Java示例展示其实现方式。
54 1
|
27天前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
55 1
|
8天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
42 0