本节主要学习mybatis的主配置文件。
configuration(配置)
- properties(属性)
- settings(设置)
- typeAliases(类型别名)
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)
- databaseIdProvider(数据库厂商标识)
- mappers(映射器)
1.属性(properties)
2.设置(settings)
常用配置如下:
最常用是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.不同的连接池配置参数差异性