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

简介: 快速学习自动化配置原理与实战 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 
相关文章
|
3月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
390 93
|
3月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
3月前
|
Web App开发 前端开发 JavaScript
Playwright极速UI自动化实战指南
Playwright告别Selenium痛点,以智能等待、强大选择器、网络拦截与多设备模拟四大利器,提升自动化效率与稳定性。本文通过实战代码详解其加速秘籍,助你构建高效、可靠的UI测试方案。
|
4月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
2月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
610 5
|
2月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
4月前
|
人工智能 缓存 测试技术
Playwright进阶指南 (6) | 自动化测试实战
2025企业级测试解决方案全面解析:从单元测试到千级并发,构建高可用测试体系。结合Playwright智能工具,解决传统测试维护成本高、环境依赖强、执行效率低等痛点,提升测试成功率,内容从测试架构设计、电商系统实战框架、高级测试策略、Docker化部署、CI/CD集成及AI测试应用,助力测试工程师掌握前沿技术,打造高效稳定的测试流程。
Playwright进阶指南 (6) | 自动化测试实战
|
3月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
445 7
|
3月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
511 11
|
3月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
625 5

热门文章

最新文章

推荐镜像

更多