Mybatis核心配置文件

您所在的位置:网站首页 mybatis核心配置文件的标签 Mybatis核心配置文件

Mybatis核心配置文件

2024-04-04 02:25| 来源: 网络整理| 查看: 265

Mybatis核心配置文件

Mybatis的配置文件包含如下配置:

image-20210119225253716

properties

当配置了这个属性,就可以动态替换如下部分。

image-20210120200646842

配置方式: 1. 使用外部java属性文件配置

创建java属性文件——db.properties。

driver = com.mysql.cj.jdbc.Driver url = jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC username = root password = 1234

在mybatis-config.xml中引入这个属性文件。

2. 在properties的子元素property 中配置 3. 也可以在 SqlSessionFactoryBuilder.build() 方法中传入属性值(了解即可)

注意: 这三种方式如果同时存在,会有一定的优先级问题

首先,读取在 properties 元素体中指定的属性; 其次,读取在 外部的java属性文件,且会覆盖已经指定了的重复属性; 最后,读取作为方法参数传递的属性,且会覆盖已经从 properties 元素体和 java外部属性文件加载了的重复属性。 Settings

官网中给出了很多设置,这里只介绍个别。

设置名 描述 有效值 默认值 logImpl 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING (这些都是日志的具体实现) 未设置 cacheEnabled 全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。 true | false true lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置 fetchType 属性来覆盖该项的开关状态。 true | false false 使用mybatis实现日志输出: 1. STDOUT_LOGGING :标准日志输出

只需在mybatis-config.xml中配置如上settings即可。

2. LOG4J : 导包: log4j log4j 1.2.17 创建log4j的配置文件: log4j.rootLogger=debug,stdout,debug,info,warn,error #console log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd HH:mm:ss a}]:%p %l%m%n #info log log4j.logger.info=info log4j.appender.info=org.apache.log4j.DailyRollingFileAppender log4j.appender.info.DatePattern='_'yyyy-MM-dd'.log' log4j.appender.info.File=./src/com/hp/log/info.log log4j.appender.info.Append=true log4j.appender.info.Threshold=INFO log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n #debug log log4j.logger.debug=debug log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log' log4j.appender.debug.File=./src/com/hp/log/debug.log log4j.appender.debug.Append=true log4j.appender.debug.Threshold=DEBUG log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n #warn log log4j.logger.warn=warn log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log' log4j.appender.warn.File=./src/com/hp/log/warn.log log4j.appender.warn.Append=true log4j.appender.warn.Threshold=WARN log4j.appender.warn.layout=org.apache.log4j.PatternLayout log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n #error log4j.logger.error=error log4j.appender.error = org.apache.log4j.DailyRollingFileAppender log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log' log4j.appender.error.File = ./src/com/hp/log/error.log log4j.appender.error.Append = true log4j.appender.error.Threshold = ERROR log4j.appender.error.layout = org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n 在mybatis-confog.xml中设置log4j 获取LogLger对象 static Logger logger = Logger.getLogger(UserDaoTest.class); typeAliases

先看之前写的Mapper映射文件:

image-20210120203306363

可以使用typeAliases来简化这个写法:

配置方式: 1. 在typeAliases的子元素typeAlias中配置

这种方式可以给具体的每一个Bean起任意的别名。

2. 在typeAliases的子元素package中配置

使用这种方式的时候,这个包下的JavaBean会使用 Bean 的首字母小写来作为它的别名。

如果也想像方式1那样,给Bean起任意的别名可以通过给Bean加注解来实现。

image-20210120205229461

当使用注解后这个类的别名就变成了“xxgbl”,不再是Bean的首字母小写了。

配置typeAliases之后就可以对映射文件进行如下替换:

image-20210120204714586

environments

image-20210120222609950

environment:

通过此标签可以定义多种环境。

注意:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

transactionManager:

通过此标签可以配置事务管理器。

mybatis中有两种事务管理器:

JDBC

MANAGED

dataSource:

通过此标签可以配置数据源。

mybatis中有三种数据源:

UNPOOLED POOLED JNDI mappers 配置方式: 1. 使用相对于类路径的资源引用 2. 使用映射器接口实现类的完全限定类名

注意:要满足以下两点,不然会报错。

接口和它的Mapper配置文件必须同名。 接口和它的Mapper配置文件必须在同一个包下。 3. 将包内的映射器接口实现全部注册为映射器

注意:要满足以下两点,不然会报错。

接口和它的Mapper配置文件必须同名。 接口和它的Mapper配置文件必须在同一个包下。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3