而useCustomLogging方法需要传入一个实现了Log接口的类,如果mybatis默认提供的6种日志打印工具不满足要求,以便于用户自己扩展。 而这个方法是在Configuration类中调用的,如果用户有自定义logImpl参数的话。 具体是在XMLConfigBuilder类的settingsElement方法中调用 再回到前面LogFactory的setImplementation方法 ...
33 configuration.setLogImpl(resolveClass(props.getProperty("logImpl"))); 34 configuration.setConfigurationFactory(resolveClass(props.getProperty("configurationFactory"))); 35 } 36 } 总结:在<settings>标签中配置的节点信息必须在 Configuration 类中存在相应的属性,否则会抛出异常。然后根据标签中配置的值初始...
1. 核心配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 configuration(配置)-- 常用properties(属性)-- 常用settings(设置)-- 常用typeAliases(类型别名)typeHandlers(类型处理器)obje
<configuration> <properties resource="db.properties"></properties> <settings> <!-- 打印查询语句 --> <setting name="logImpl" value="STDOUT_LOGGING" /> <!-- 控制全局缓存(二级缓存)--> <setting name="cacheEnabled" value="true"/> <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。
可以看到Configuration的构造方法里面也初始化了一些别名注册到TypeAliasRegistry类了。 接下来我们看看读取到日志类之后调用了setLogImpl做了什么事情: 调用了LogFactory类的方法。 LogFactory LogFactory工厂是负责创建日志对象对应的适配器。 LogFactory的静态代码块内按顺序初始化了所有内置的日志 ...
configuration.setLogImpl(logImpl); } 1. 2. 3. 4. 5. 6. 进入setLogImpl方法中 publicvoidsetLogImpl(Class<?extendsLog>logImpl) { if(logImpl!=null) { this.logImpl=logImpl;// 记录日志的类型 // 设置 适配选择 LogFactory.useCustomLogging(this.logImpl); ...
DOCTYPE configuration PUBLIC "-//http://mybatis.org//DTDConfig 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > b) 关联 mybatis 配置文件的 dtd 约 (2) 什么是数据源? 在核心配置文件中, 如何配置数据源? <!-- 数据源/连接池,用于配置连接池和数据库连接的参数 ...
3.name="logImpl"value="LOG4J"/> 4. 5. 这里只写了关键的一部分配置信息,在你自己配置的基础上增加即可。这样一来log4j的配置信息就会起作用。 参数说明: Mybatis对Log4j的配置支持: Logging Configuration MyBatis可以对包、类、命名空间和全限定的语句记录日志。
MyBatis核心配置文件在初始化时会被引用,在配置文件中定义了一些参数,当然可以完全不需要配置文件,全部通过编码实现,该配置文件主要是是起到解偶的作用。如第一讲中我们用到conf.xml文件: 代码语言:javascript 复制 <?xml version="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTD Confi...