Mybatis(9)数据库连接池 & 企业开发规范
Mybatis(9)数据库连接池 & 企业开发规范
观前提醒:
如果你是第一次点击这篇博客,需要你回看Mybatis系列的这个博客:
Mybatis(8)#{}和${}的区别,排序,模糊查询
这篇博客的代码,都是需要自己敲一下的。
建议你看着我说的知识点,自己尝试一下,创建 Springboot项目,使用 Mybatis框架,访问数据库。
这里使用的数据库是 MySQL。
图形化工具:Navicat
sql文件获取:https://gitee.com/mrbgvhbhjv/java-ee-course
1. 数据库连接池
在上⾯Mybatis的讲解中,Mybatis自身 使用了数据库连接池技术, 避免频繁的创建连接, 销毁连接
下面我们来了解下数据库连接池:
1.1 介绍
数据库连接池 负责分配、管理和释放数据库连接,它允许应用程序重复使用⼀个现有的数据库连接,而不是再重新建立⼀个

没有使用数据库连接池的情况:
每次执行SQL语句, 要先创建⼀个新的连接对象, 然后执行SQL语句, SQL语句执行完, 再关闭连接对象释放资源。
这种重复的创建连接, 销毁连接比较消耗资源。
使用数据库连接池的情况:
程序启动时, 会在数据库连接池中创建⼀定数量的Connection对象, 当客户请求数据库连接池, 会从数据库连接池中获取Connection
对象, 然后执行SQL, SQL语句执行完, 再把 Connection 归还给连接池。
优点:
- 减少了网络开销
- 资源重用
- 提升了系统的性能
1.2 使用
常见的数据库连接池:
- C3P0
- DBCP
- Druid
- Hikari
目前比较流行的是 Hikari, Druid :
- Hikari : SpringBoot默认使用的数据库连接池

- Druid
如果我们想把默认的数据库连接池切换为Druid数据库连接池, 只需要引入相关依赖即可:
Springboot 3 版本的依赖(目前主流)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.21</version>
</dependency>
如果是 Springboot2 版本:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.17</version>
</dependency>
参考官方地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
- Druid连接池是阿⾥巴巴开源的数据库连接池项目
- 功能强大,性能优秀,是Java语⾔最好的数据库连接池之⼀
- 学习⽂档: https://github.com/alibaba/druid/wiki/%E9%A6%96%E9%A1%B5
2.MySQL 开发企业规范
表名,字段名使用小写字⺟或数字,单词之间以下划线分割. 尽量避免出现数字开头或者两个下划线中间只出现数字。
数据库字段名的修改代价很大, 所以字段名称需要慎重考虑。
MySQL 在 Windows 下不区分大小写, 但在 Linux 下默认是区分大小写. 因此, 数据库名, 表名, 字段名都不允许出现任何大写字⺟, 避免节外⽣枝
正例: aliyun_admin, rdc_config, level3_name
反例: AliyunAdmin, rdcConfig, level_3_name
表必备三字段: id, create_time, update_time
id 必为主键, 类型为 bigint unsigned, 单表时⾃增, 步⻓为 1
create_time, update_time 的类型均为 datetime 类型,
create_time表⽰创建时间, update_time表⽰更新时间
有同等含义的字段即可, 字段名不做强制要求
在表查询中, 避免使用 * 作为查询的字段列表, 标明需要哪些字段(博客中给大家演示的代码除外)
增加查询分析器解析成本
增减字段容易与 resultMap 配置不⼀致
⽆用字段增加网络消耗, 尤其是 text 类型的字段
3. 总结
这篇博客,就是 Mybatis博客 的一个过渡,简单介绍了 数据库连接池,MySQL 开发企业规范。
下一篇博客,我们将介绍 Mybatis 中的 动态SQL。
博客链接:Mybatis(10)动态 SQL(1):新增 & 查询
最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!
下一篇博客:Mybatis(10)动态 SQL(1):新增 & 查询
更多推荐

所有评论(0)