Mybatis - mybatis-config.xml核心配置文档解析

回到顶部(go to top)

总结

mybatis-config.xml 可以改为其他名字

回到顶部(go to top)

环境配置 environments

事务管理器 transactionManager

我们常用的是JDBC:

 

 

 

 

 

数据源 datasource

DataSource就是为了方便连接数据库。可以取得值有:

  • UNPOOLED: 不配置连接池。
  • POOLED: 【推荐!!默认值!!】每次新建数据库连接很耗时,因此配置连接池,池子里的连接用完可以回收下次再用,无需重复创建更高效。常用的有dbcp, c3p0 - MySQL - 数据库连接池 C3P0,DBCP
  • JNDI:不常用了

 

 

 

 

回到顶部(go to top)

属性 properties

核心配置文件中,所有的标签元素,有顺序要求

properties必须放在最上面

 

引入外部配置文件

配置文件:db.properties

 

 

 通过properties标签引入配置文件:

 

 

 

 配置文件的两种写法

  • 一种是通过外置的properties文件 (优先级更高!!!)
  • 一种是直接在“<properties>”标签里添加属性

 

 

 

 

回到顶部(go to top)

类型别名 typeAliases

 

 

 

两种设置方法

方法1:

 

 

 

方法2:

 

 

 

常见类型的别名(基本类型 vs 非基本类型)

  • 基本类型 int --> 别名 _int
  • 包装类型 Integer --> 别名 int

基本类型:

 

 

 

非基本类型:

 

 

 

 

 

回到顶部(go to top)

设置 settings

 

 

 

cacheEnabled 开启缓存

 

 

 

lazyLoadingEnabled 懒加载

 

 

 

mapUnderscoreToCamelCase 驼峰命名转换

数据库列名:last_name

pojo属性名:lastName

 

 

 

logImpl 日志实现

只需掌握两个:

LOG4J

STDOUT_LOGGING:控制台输出log

 

 

回到顶部(go to top)

映射器 mappers

 

推荐使用resource方式注册映射器

 

 

 

 

 

 

 

回到顶部(go to top)

生命周期和作用域

SqlSessionFactoryBuilder, SqlSessionFactory, SqlSession

SqlSessionFactoryBuilder

  • 作用:一旦使用SqlSessionFactoryBuilder创建过了SqlSessionFactory,就不再需要。
  • 适合作用域:局部变量

SqlSessionFactory

  • 作用:用来生成SqlSession。一旦创建就应该在应用运行期间一直存在,没有任何理由丢弃它,或者重新创建一个实例。可以理解为:数据库连接池。
  • 适合作用域:应用作用域
  • 推荐使用单例模式,或者静态单例模式

SqlSession

  • 作用:连接到连接池的一个请求。线程不安全。用完之后需要赶紧关闭,否则资源被占用。
  • 适合作用域:一个请求或者方法作用域

 

三者关系直观图:

 

 

 

 

  

 

posted on   frank_cui  阅读(143)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

levels of contents
点击右上角即可分享
微信分享提示