SpringBoot的MyBatis工程配置|学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习SpringBoot的MyBatis工程配置

开发者学堂课程【高校精品课-厦门大学 -JavaEE 平台技术SpringBoot的MyBatis工程配置学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/80/detail/15923


SpringBoot的MyBatis工程配置

 

1、Redis Demo工程在 Mybatis下面,可以看到它下面有一个目录是sql,有databatis sql 的语句,语句用来建用户和 databatis,当把 Mybatis装好后,要把上面的语句拷贝到 sql命令行中执行,执行的结果就会在数据库建出 demouser的用户和密码,会把

demo 数据库所有的权限都赋给 demouser所有的用户。

2、工程配置文件在 application.yaml中,跟之前的配置文件相比增加关于数据库连接

springboot datasource下面,

image.png

连接用的jdbc驱动,oomall demo 文件中引入依赖,连接关键字,数据库连接在本机上面,本机数据库是 mysql8.0,连接字的后面和mysql5.7不一样的地方是它加了servertimezone,标识当前的时区是上海时区,北京的时间,设置数据库的用户名和密码,time不是直接连接数据库,利用了一个阿里 drvid的连接词,每次使用sql语句都会跟数据库建立连接,抓一个sql语句,返回一个结果,用完之后关闭连接,数据库可以支持的同时连接数是有限的,同时支持的越多,内存的开销就越大,mysql抓好之后再动它,同时连接数是100-200,每一次 sql语句的执行就会建一次连接,关掉,这样会比较慢,引进阿里 drvid的连接词,连接词是它会先建立好一些连接,在每次使用sql语句时不用每次都建立和关闭连接,从连接词中拿出一个连接运行sql即可。

3、Schema 和 data两个设置分别指向两个 sql的语句,Schema.sql

和data.sql,Schema.sql 主要放建表语句,data.sql主要放初始化数据语句,后面有跟drvid有关的配置,其中有初始连接数,

image.png

整个应用起来,最开始会建三个连接,最小连接词的数量,因为随着连接的减少,它会删掉已经存在的连接,存在的最小数是3,最大数是10,最多会建十个数据库的连接,如果操作语句超过了最大连接数,需要设置最大等待时间600,参数非常有意义,如果应用是数据库的应用,把线程数设置很大,没有把数据库同时连接数

设大,就会是瓶颈,所以要均衡设置参数,要让整个系统运转比较流畅

如果想监控 drvid连接词情况,可以配置 stat-view-servlet,监控网页,可以看连接词的工作情况,可以给监控网页设置用户名和密码,login-username和 login-password,enabled打开,url pattern 是监控网页的路径,在 drvid的目录下面,mysql的配置是在drvid中非常重要的配置,因为可以通过 mysql日志发现数据库里面运行比较慢的 sql,从而优化sql语句,现在数据里面打开了 mysql的日志,mysql的定义是超过一百毫米 sql的语句会写到日志中,mysql的日志需要被写到日志文件中,在之前的日志中用了 logback的日志,logback 是非常快的日志框架,它的配置文件在初始下面logback的配置文件中,打开logback配置文件可以看到第一项中配置的是所写的目录名,当前的测试代码配置在当前的目录下面会开一个目录,如果打包成 jar 包配置到服务器上,需要修改配置文件,把配置文件写在服务器某一个目录下面,就可以在外面看到整个系统运行情况,logback 配置文件中最主要的内容是 appender,appender 是输出日志,在现在的版本中可以看到定义了三个 appender,一个是标准的 stdout,用来输出到标准书上 console看到的内容,在里面定义了输出的格式以及输出的字符集,第二个是file输出到文件的appender,定义的是时间的原则,按照时间的预估数生成日志文件,appender主要是生成系统在这一级所有的日志,它是按照每天的方式生成一个文件,所有的日志保留30天,30天之前的日志文件会把它删掉,后面定义格式以及定义允许每个文件的大小,10兆,大于10兆就会开新的文件,第三个 appender是关于 drvid文件的输出,时间滚动的方式,跟之前的方式不一样,并不需要每天独立生成 mysql的日志文件,所以 drvidfile会把当前记录的mysql文件写在log中,rollplicy会把历史的记录放在后面,按照产生日期的值,写到log文件中,注意 rollplicy里面定义的timebasefilenamingandtriggeringolicy,它会触发机制是它的文件大小大于20

兆,把当前文件产生新的文件放到目录中,而且没有删除它的限制。

输出的格式加 deny,日志只记录 error级别的日志,最后定义的是真正输出的logger,对于 drvid的包会定义到标准的输出到 drvid文件中,定义另外一个logger,logger 是另外一个应用程序的输出,输出级别是 ferror,默认定义标准输出文件上,这就是 logback的配置。

4、因为已经引入l ogback配置的依赖,当数据库程序起来之后,会读取 logback 中的配置信息,把相关信息写到配置文件中,数据库跑起来,配置了drvid的部分,进行测试跑完之后,会发现 test前面加了configuration,跑完之后看数据库里面跑完的数据和跑之前的数据一样,这是关于数据源的设置,使用jdbc的方式连接mysql数据库,中间通过阿里巴巴的连接池使得可以保持多个数据库的连接,提高速度。

5、Mybatis中 Log-imol默认注释掉,设置主要作用是 mysql对于 Mybatis的操作转换成为sql语句,看产生的 sql语句是什么,也许是 sql语句写的有问题,需要看运行时 sql语句,可以把 Log-imol注释打开,会把所有的 sql语句输出到控制台上。

6、在 pom文件中和没有加 Mybatis的pom文件相比增加了pagehelper,虽然现在没有用pagehelper,pagehelper 是用来进行分页,当查询多条语句时进行分页,不会一次从数据库中查太多的数据。

Mysql jdbc 的驱动 commector-java,Mybatis-spring-boot-starter,用阿里巴巴的drvid,看跑起来的状态,虽然配置了阿里巴巴的 drvid,进行测试,跑完之后看数据库中跑的数据跟跑之前的数据一样,是因为在测试类的前面加了autoconfigrurewockmvc标签,标签会使得测试类测试过的方法都在一个事物中间执行,而且每一个方法结束时事务会回滚,测试之前的数据和测试完成以后数据库里面的数据会恢复成原先的样子,用 springboot跑起来,通过 localhost8080访问,看 drivd监控的网页,输入l ocalhost8080,join,就可以看到 drivd的监控网页,在里面可以看到 sql的日志和 mysql日志的信息,进入网页之前要输入用户名

和密码

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
36 4
|
21天前
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
31 0
|
28天前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
84 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
28天前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
47 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
8天前
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
30 3
|
19天前
|
druid Java Maven
|
26天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
44 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
28天前
|
SQL Java 数据库连接
mybatis使用二:springboot 整合 mybatis,创建开发环境
这篇文章介绍了如何在SpringBoot项目中整合Mybatis和MybatisGenerator,包括添加依赖、配置数据源、修改启动主类、编写Java代码,以及使用Postman进行接口测试。
15 0
mybatis使用二:springboot 整合 mybatis,创建开发环境
|
28天前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
26天前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
106 0