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
相关文章
|
1月前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
56 0
|
22小时前
|
Java Maven Spring
SpringBoot配置跨模块扫描问题解决方案
在分布式项目中,使用Maven进行多模块开发时,某些模块(如xxx-common)没有启动类。如何将这些模块中的类注册为Spring管理的Bean对象?本文通过案例分析,介绍了两种解决方案:常规方案是通过`@SpringBootApplication(scanBasePackages)`指定扫描路径;推荐方案是保持各模块包结构一致(如com.xxx),利用SpringBoot默认扫描规则自动识别其他模块中的组件,简化配置。
SpringBoot配置跨模块扫描问题解决方案
|
7天前
|
NoSQL Java Redis
Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置机制通过 `spring.factories` 文件和 `@EnableAutoConfiguration` 注解,根据类路径中的依赖和条件注解自动配置所需的 Bean,大大简化了开发过程。本文深入探讨了自动配置的原理、条件化配置、自定义自动配置以及实际应用案例,帮助开发者更好地理解和利用这一强大特性。
51 14
|
1月前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
49 1
SpringBoot入门(7)- 配置热部署devtools工具
|
1月前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
47 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
24天前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
37 4
|
24天前
|
SQL Java 数据库连接
spring和Mybatis的各种查询
Spring 和 MyBatis 的结合使得数据访问层的开发变得更加简洁和高效。通过以上各种查询操作的详细讲解,我们可以看到 MyBatis 在处理简单查询、条件查询、分页查询、联合查询和动态 SQL 查询方面的强大功能。熟练掌握这些操作,可以极大提升开发效率和代码质量。
35 3
|
29天前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
18 1
|
1月前
|
存储 前端开发 JavaScript
springboot中路径默认配置与重定向/转发所存在的域对象
Spring Boot 提供了简便的路径默认配置和强大的重定向/转发机制,通过合理使用这些功能,可以实现灵活的请求处理和数据传递。理解并掌握不同域对象的生命周期和使用场景,是构建高效、健壮 Web 应用的关键。通过上述详细介绍和示例,相信读者能够更好地应用这些知识,优化自己的 Spring Boot 应用。
36 3
|
1月前
|
Java 数据库连接
SpringBoot配置多数据源实战
第四届光学与机器视觉国际学术会议(ICOMV 2025) 2025 4th International Conference on Optics and Machine Vision
63 8

热门文章

最新文章