本节主要学习mybatis的主配置文件。

configuration(配置)

  • properties(属性)
  • settings(设置)
  • typeAliases(类型别名)
  • typeHandlers(类型处理器)
  • objectFactory(对象工厂)
  • plugins(插件)
  • environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)
  • databaseIdProvider(数据库厂商标识)
  • mappers(映射器)

1.属性(properties)

2.设置(settings)

常用配置如下:




dubbo Serialization 配置 dubbo常用配置_c3p0配置文件


最常用是logImpl,用来打印日志,特别是mysql生成sql语句日志;

mapUnderscoreToCamelCase 设置驼峰式命名

数据库中的列名: user_name 属性名:user_name ===》映射保持一致 (false)

数据库中的列名: user_name 属性名:userName ===》自动映射匹配 (true)

3.类型别名(typeAliases)

方式一:单个类进行设置

方式二:批量设置,设置包

方式三:注解配置

@Alias("User")public class User{}

4.环境配置(environments)

不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

每个SqlSessionFactory对象只针对一个数据库。

事务管理器(transactionManager)

JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域;

MANAGED – 这个配置几乎没做什么;让容器来管理事务的整个生命周期(Spring)

数据源(dataSource)

UNPOOLED– 这个数据源的实现会每次请求时打开和关闭连接

POOLED– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来;mybatis实现一个简单的连接池;

推荐大家优先选择开源连接池:druid,c3p0,dbcp...

JNDI – 这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用。

5.映射器(mappers)

方式1:使用相对于类路径的资源引用 ===》xml配置优先选择

方式2: 使用完全限定资源定位符(URL) 强烈不推荐

方式3: 使用映射器接口实现类的完全限定类名,一般用在注解中

sql语句放在注解中,一般通过完整类名来加载模块配置。

方式4:将包内的映射器接口实现全部注册为映射器 ===》注解配置优先选择

sql语句放在注解中,一般通过完整类名来加载模块配置。

6.集成主流连接池

mybatis集成主流连接池(C3P0,DBCP/DBCP2/DRUID/BoneCp/Hikari)基本思路

1.pom.xml设置连接池坐标中央仓库:https://search.maven.org/    推荐仓库:https://mvnrepository.com/2.连接池配置文件属性配置文件(*.properties)xml配置文件(*.xml)3.自定义连接池工厂类C3P0DataSourceFactory.javaDruidDataSourceFactory.javaDbcp2DataSourceFactory.java....4.mybatis主配置文件进行集成配置5.运行调试6.注意事项1.连接池的配置文件书写正确2.不同的连接池配置参数差异性