Mybatis - mybatis-config.xml核心配置文档解析
总结
mybatis-config.xml 可以改为其他名字
环境配置 environments
事务管理器 transactionManager
我们常用的是JDBC:
数据源 datasource
DataSource就是为了方便连接数据库。可以取得值有:
- UNPOOLED: 不配置连接池。
- POOLED: 【推荐!!默认值!!】每次新建数据库连接很耗时,因此配置连接池,池子里的连接用完可以回收下次再用,无需重复创建更高效。常用的有dbcp, c3p0 - MySQL - 数据库连接池 C3P0,DBCP
- JNDI:不常用了
属性 properties
核心配置文件中,所有的标签元素,有顺序要求
properties必须放在最上面
引入外部配置文件
配置文件:db.properties
通过properties标签引入配置文件:
配置文件的两种写法
- 一种是通过外置的properties文件 (优先级更高!!!)
- 一种是直接在“<properties>”标签里添加属性
类型别名 typeAliases
两种设置方法
方法1:
方法2:
常见类型的别名(基本类型 vs 非基本类型)
- 基本类型 int --> 别名 _int
- 包装类型 Integer --> 别名 int
基本类型:
非基本类型:
设置 settings
cacheEnabled 开启缓存
lazyLoadingEnabled 懒加载
mapUnderscoreToCamelCase 驼峰命名转换
数据库列名:last_name
pojo属性名:lastName
logImpl 日志实现
只需掌握两个:
LOG4J
STDOUT_LOGGING:控制台输出log
映射器 mappers
推荐使用resource方式注册映射器
生命周期和作用域
SqlSessionFactoryBuilder, SqlSessionFactory, SqlSession
SqlSessionFactoryBuilder
- 作用:一旦使用SqlSessionFactoryBuilder创建过了SqlSessionFactory,就不再需要。
- 适合作用域:局部变量
SqlSessionFactory
- 作用:用来生成SqlSession。一旦创建就应该在应用运行期间一直存在,没有任何理由丢弃它,或者重新创建一个实例。可以理解为:数据库连接池。
- 适合作用域:应用作用域
- 推荐使用单例模式,或者静态单例模式
SqlSession
- 作用:连接到连接池的一个请求。线程不安全。用完之后需要赶紧关闭,否则资源被占用。
- 适合作用域:一个请求或者方法作用域
三者关系直观图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?