自动化配置原理与实战 MySQL 数据库|学习笔记(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 快速学习自动化配置原理与实战 MySQL 数据库

开发者学堂课程【5天实战 Spring Boot 2.5:Spring 平台与新特性介绍】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/780/detail/13691


自动化配置原理与实战 MySQL 数据库

数据库 MySQL 使用比较多,互联网公司基本都是 MySQL 数据库,MySQL 数据库诞生时间比较早,属于关系型数据库。还有几个数据库比如 Oracle 主要是在银行大型国企中使用,Oracle 数据库比较强,是收费的,费用特别高,早期淘宝也使用过一段时间,后面慢慢将Oracle 去掉了换成了 MySQL,因为 MySQL 便宜且是开源的。从技术角度培养人员,开源数据库好处在于可以查看源代码并修改。国内互联网公司包括腾讯、阿里、华为都有前期使用 MySQL,修改代码,培养自己的人才,包括后期自己仿制的过程。如果一个公司愿意开放源代码,那这个公司是道德水平比较高的,相对来说贡献比较大,将自己最核心的东西贡献。还有一些公司不开源比如IDM 或者 Oracle 和微软基本上都不开源,微软现在开源的项目基本都是无关紧要的,最核心的东西都不开源,苹果操作系统也不开源,开源或者不开源从程序员角度肯定希望对方开源,对企业来说,只要有能力形成垄断一样可以赚钱,本质上对公司来说需要赚钱要产生商业利益。Spring Boot 访问数据库底层讲过一个 JDBC,是 Java 提供数据库访问的一个框架,语句比较原始。Spring 后面出了一个框架叫 Spring Data,将接口再进行简化,对数据库的操作变得更简单,不用写复杂的 SQL 语句,不写不代表没有,只是框架帮助生成了,它里面是一些底层的数据库驱动,做了封装,report 对象主要实现对各个数据库的操作、增删改查的封装。这个思想翻译成仓库仓储,之前的概念为了处理系统的业务逻辑的复杂度,提了一个概念叫领域,里面 report 的概念现在也是新的设计模式,本质是做数据库数据代码的封装,本质上也是封装概念,对原始数据库操作的封装。注意操作的数据源更多了,底层用到了 JDBC,不需要自己去控制 JDBC 的原始代码,只需完成其他代码的编写工作。Spring Data 经过很多框架的迭代,Spring Boot 将之前很多框架做了一个集成做了一个铺垫。MySQL 提供了比较多的以数据库为例的,就不讲 Oracle,Oracle 很多国企在使用,但是相信慢慢会被淘汰,现在国内大国企银行也在说软件安全,如果不知道源代码,数据库没法审查代码,也控制不了任何东西,核心技术都没有,理论上不符合国企技术定位的要求,理论上国企都应该换成开源数据库,开源数据库后期有能力能够控制,这是一个方向。操作数据库使用 Spring Data,主要使用 report,底层实际还是做了封装,如果照抄代码没问题,但是底层东西需要知道,包括其他类型其他接口,看起来比较简单。注意很多词汇,JPA 是 Java底层框架的缩写。

六.例子

数据库新建一个表,然后创建一个对象一个类型,比如一个订单,然后定义几个字段和数据库的订单的表里面的字段进行对应关系。定义一个类型扩展一个接口,直接增删改查默认全部已生成。如果要进行特殊字段的查询,比如根据用户名或密码查询,这些需要自己定义,需要看一下这个代码是接口还是类型,比如是一个接口,接口怎么具备增删改查功能,这个框架背后基于它生成了一个对象,之前自定义接口有一个实现代码,接口不能直接创建一个对象,按照约定的规则写代码去定义一个接口,Spring 框架可以基于接口创建对象,Spring 框架能帮成员完成很多工作,尽量省掉繁琐的工作,背后用的还是基础代码的封装。

七.实例

链 MySQL 需要用户密码,配置文件里会放 MySQL 的地址。比如数据库叫阿里巴巴或者淘宝,使用安全链接链 MySQL, string 是使用 utc 是通用时间的时间格式,链接字符串写在 Java 代码中,那时方式比较原始,这里放在配置文件中,项目生成部署时文件可以修改,比如网站放在一个机器上,数据库放另一台机器上,数据库 IP 地址可以提供用户名、域名、密码比较简单,Spring Data 中参数配置的方式,不知道参数,可以使用文档查,还可以指定驱动,这个驱动实际也是 JDBC 中的驱动。pom 文件原功能加了一个依赖,JPA 的依赖默认添加了 JDBC 的依赖。Tomcat 默认 RM 框架是做对象和数据库的映射。数据库一般向后兼容,这里面还有测试的等就不介绍了,需要什么菜夹什么菜,类似吃自助餐。注意仓储类型,自定义方法数据库基于接口已经生成了增删改查,这是自定义的几个特殊的参数查询的方法这些功能的接口,这简单很多因为默认接口在其他地方可以使用,对应数据库的叫实体类型,有的叫模型,别名一定要和数据库的表涉及的变量对应哪个列,注解表示对应列,标明列是不是自增的,标识有用户名、ID、年龄、城市等字段,假设在 MySQL中有这样一个表,应该按照这个格式进行配置来对应数据库的表。怎么链接比如查询所有用户,自动装配。例如购买的喂养猫狗的器皿以及自动洗衣机具有自动装配的功能,假设该方法要查询所有的用户数据,保存所有用户数据,需要写 SQL 语句查询,或者使用其他比如仓储功能的接口创建对象进行查找。定义一个接口类型的变量,@AutoWired 的注解是 Spring 框架提供的,它能够自动创建对象,具备增删改查功能,可以直接调用。findAll 是查找所有用户,这句话主要就是 Spring 造个对象然后使用即可,也就是说 Spring 框架充当一个角色,你需要什么依赖,由 Spring 框架完成,程序员很多工作都被 Spring 框架完成了,基础的代码工作都已经完成了,只需要写与工作相关比较复杂的代码比如业务逻辑的各种判断,这里给了查询。

数据库重新创建,新建表,添加 ID,name 可变长度100。age 是整数类型,城市可变长度100,地址长度200,然后点击保存为 users。手动插入数据,建一个 users 表,name。比如叫 Java,密码1234,年龄26岁,城市杭州,地址阿里巴巴,点击 go,就添加完成一条数据。启动程序,这里做登录账号相关的,同理做用户密码查询然后比对,端口是8088,访问阿里巴巴,用户密码都没有错误,然后添加偏移 home,添加测试方法,浏览器测试访问 localhost:8088/home/getAll,这是方法的偏移地址与类偏移地址,通过浏览器给后台网站发送请求,控制器会创造一个对象通过调用查找数据并返回。测试结果为上面插入的数据。手动再次添加一条数据,比如2,MySQL,密码1111,MySQL 给30,城市USA,地址JDBC,刷新重新发送请求,回车返回两条数据,为 JSON 数据格式。同理可以根据用户名查找,这里只演示 JDBC 已经封装,Spring 能够提供更好的更方便的数据库开发模式。自定义的语句叫类 SQL 命令,最终会转换成数据库命令,没写的方法代码默认已经生成了。例子代码作为参考练习,大家新建表,一定要和字段对应起来,和定义的类型比如定义一个订单,订单类几个字段参考该思路复制,学会模仿,照参考,比如 ID,前提是表设计时有该字段可以对应。变量、类型等的概念不需要死记硬背,注解完成特殊的功能扩展,目前公司多用 mybatis,这里面是参数化可以传参,传的是定义的参数比如 ID穿的是1或者100,这是个变量参数,最终会被编译至语句中,比如最终替换成99、1000、5000。底层是封装的,实际是这几个框架的融合,今天的编程方式在设计模式中叫仓储模式,不管使用什么设计模式不管怎么封装,这得符合实际情况,有可能需要根据手机号查询,系统并不知道手机号这种默认生成的查询功能方法,这只是一个思路,特殊情况参考这个例子进行改动。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
小程序 测试技术 Android开发
频繁解锁太麻烦?支付宝实现锁屏组件新能力
频繁解锁太麻烦?支付宝实现锁屏组件新能力
219 5
|
缓存 Linux
Centos7 更换yum源
备份原来的源 下载阿里源 更改阿里yum源为默认源
8307 1
|
机器学习/深度学习 人工智能 计算机视觉
图像修复使用率最高数据集总结
有效整理、附官网链接
540 0
图像修复使用率最高数据集总结
|
13天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
5天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
12天前
|
人工智能 自然语言处理 自动驾驶
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
|
8天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
776 23