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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 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 
相关文章
|
1月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
253 93
|
1月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
476 1
|
3月前
|
存储 SQL 关系型数据库
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
|
4月前
|
关系型数据库 MySQL 数据库连接
Django数据库配置避坑指南:从初始化到生产环境的实战优化
本文介绍了Django数据库配置与初始化实战,涵盖MySQL等主流数据库的配置方法及常见问题处理。内容包括数据库连接设置、驱动安装、配置检查、数据表生成、初始数据导入导出,并提供真实项目部署场景的操作步骤与示例代码,适用于开发、测试及生产环境搭建。
164 1
|
1月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
308 7
|
1月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
66 4
|
1月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
354 4
|
1月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
269 11
|
4月前
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
319 3
Jasypt加密数据库配置信息
|
3月前
|
SQL 关系型数据库 MySQL
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)

热门文章

最新文章

推荐镜像

更多