当前位置: 首页 > news >正文

快速网站开发外包公司

快速网站开发,外包公司,网站logo设计理念,猪八戒做网站怎么样专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

专栏精选

引入Mybatis

Mybatis的快速入门

Mybatis的增删改查扩展功能说明

mapper映射的参数和结果

Mybatis复杂类型的结果映射

Mybatis基于注解的结果映射

Mybatis枚举类型处理和类型处理器

再谈动态SQL

Mybatis配置入门

Mybatis行为配置之Ⅰ—缓存

Mybatis行为配置之Ⅱ—结果相关配置项说明

Mybatis行为配置之Ⅲ—其他行为配置项说明

Mybatis行为配置之Ⅳ—日志

Mybatis整合Spring详解

Mybatis插件入门

Mybatis专栏代码资源

文章目录

  • 专栏精选
  • 引言
  • 摘要
  • 正文
      • logImpl
      • logPrefix
      • 配置log4j2日志系统
      • 配置logback日志系统
  • 总结

引言

大家好,我是奇迹老李,一个专注于分享开发经验和基础教程的博主。欢迎来到我的频道,这里汇聚了汇集编程技巧、代码示例和技术教程,欢迎广大朋友们点赞评论提出意见,重要的是点击关注喔 🙆,期待在这里与你共同度过美好的时光🕹️。今天要和大家分享的内容是Mybatis日志配置。做好准备,Let’s go🚎🚀

摘要

在这篇文章中,我们将介绍给Mybatis配置日志的基本方法,虽然在开发工作中Mybatis常作为整个系统的一个部分,而不会单独为其配置日志系统,但是给Mybatis配置日志还是很重要,比如调试过程中查看SQL查询日志,那么Mybatis的日志配置将会对它的运行逻辑产生怎样的影响呢,准备好开启今天的奇妙旅程吧。

正文

首图

在Mybatis中与日志相关的配置项有logImpllogPrefix两个,在日常开发工作中,logImpl相对更常用,而logPrefix不常用,下面简单介绍这两个配置

logImpl

备注:设置Mybatis日志的具体实现
可选值:

  1. SLF4J
  2. LOG4J(3.5.9 起废弃)
  3. LOG4J2
  4. JDK_LOGGING
  5. COMMONS_LOGGING
  6. STDOUT_LOGGING
  7. NO_LOGGING

默认值:自动
建议值:根据实际情况设置,尽量设置一个
建议原因:官方文档建议

MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。

不少应用服务器(如 Tomcat 和 WebShpere)的类路径中已经包含 Commons Logging,所以在这种配置环境下的 MyBatis 会把它作为日志工具,记住这点非常重要。这将意味着,在诸如 WebSphere 的环境中,它提供了 Commons Logging 的私有实现,你的 Log4J 配置将被忽略。MyBatis 将你的 Log4J 配置忽略掉是相当令人郁闷的(事实上,正是因为在这种配置环境下,MyBatis 才会选择使用 Commons Logging 而不是 Log4J)。如果你的应用部署在一个类路径已经包含 Commons Logging 的环境中,而你又想使用其它日志工具,你可以通过在 MyBatis 配置文件 mybatis-config.xml 里面添加一项 setting 来选择别的日志工具。

——《mybatis官方文档》

logPrefix

备注:指定 MyBatis 增加到日志名称的前缀
默认值:未设置
建议值:不设置
建议原因:此设置后会影响日志系统的默认行为,因此不建议设置,如有必要设置名称前缀,可以在日志配置文件中设置日志规则

配置log4j2日志系统

Log4j的详细配置项见

配置步骤

  1. 引入log4j2
  2. 新增log4j2配置文件,文件路径 resources/log4j2.xml
  3. 修改mybatis配置(可不修改,Mybatis会自动使用对应的日志)
<!--pom文件-->
<dependency>  <groupId>org.apache.logging.log4j</groupId>  <artifactId>log4j-core</artifactId>  <version>2.21.0</version>
</dependency>
<!--日志配置文件-->
<?xml version="1.0" encoding="UTF-8"?>  
<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">  <Appenders>        <Console name="stdout" target="SYSTEM_OUT">  <!--设置日志打印格式--><PatternLayout pattern="[%C#%M(%L)] %5level [%t] %msg%n"/>  </Console>    </Appenders>  <Loggers>        <!--设置日志级别--><Logger name="top.sunyog.mybatis.mapper" level="debug"/>  <Logger name="org.apache.ibatis.session.AutoMappingUnknownColumnBehavior" level="warn"/>  <Root level="error" >  <AppenderRef ref="stdout"/>  </Root>    </Loggers>  
</Configuration>
<!--mybatis配置-->
<setting name="logImpl" value="log4j"/>

测试log4j2日志系统的打印

[org.apache.ibatis.logging.jdbc.BaseJdbcLogger#debug(137)] DEBUG [main] ==>  Preparing: select * from test_demo
[org.apache.ibatis.logging.jdbc.BaseJdbcLogger#debug(137)] DEBUG [main] ==> Parameters: 
TestDemo{demoId=1, demoName='测试名称', demoDesc='测试备注'}

配置logback日志系统

Mybatis的日志中默认不支持logback日志,但是logback实现了slf4j标准,而Mybatis支持slf4j日志,因此logback日志也能够使用
logback日志的配置方式如下

  1. 引入logback
  2. 新增logback日志配置文件,配置文件路径 resources/logback.xml
  3. 修改mybatis配置(可不修改,Mybatis会自动使用对应的日志)
<dependency>  <groupId>ch.qos.logback</groupId>  <artifactId>logback-classic</artifactId>  <version>1.0.13</version>  
</dependency>
<?xml version="1.0" encoding="UTF-8" ?>  
<configuration debug="false">  <!-- 日志输出格式 -->  <property name="ENCODER_PATTERN" value="%yellow(%d{yyyy-MM-dd  HH:mm:ss.SSS}) %red([%thread] %-5level %logger{80}) - %green(%msg%n)" />  <!-- 控制台日志:输出全部日志到控制台 -->  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  <Pattern>${ENCODER_PATTERN}</Pattern>  <charset>UTF-8</charset>  </encoder>    </appender>  <logger name="top.sunyog.mybatis.mapper" level="DEBUG" addtivity="false"></logger>  <root level="error">  <appender-ref ref="STDOUT" />  </root>
</configuration>

测试logback日志系统的打印

2023-12-28  14:51:24.037 [main] DEBUG top.sunyog.mybatis.mapper.LessonMapper.getDemos - ==>  Preparing: select * from test_demo
2023-12-28  14:51:24.063 [main] DEBUG top.sunyog.mybatis.mapper.LessonMapper.getDemos - ==> Parameters: 
TestDemo{demoId=1, demoName='测试名称', demoDesc='测试备注'}

注意事项:如果在Mybatis项目中存在多个日志系统,mybatis会自动在其中选择一个,如果需要修改为其他的日志系统,那么logImpl这个配置就很有用了,它可以指定具体使用哪一个日志系统,对于logback和log4j2的配置如下

<!--logback日志系统使用以下配置-->
<setting name="logImpl" value="slf4j"/><!--log4j2日志系统使用以下配置-->
<setting name="logImpl" value="log4j2"/>

总结

Mybatis的日志相关的代码都在 org.apache.ibatis.logging.*这个包下,其中定义了很多日志的行为,因此配置完日志系统后不需要对Mybatis进行任何修改即可产生相应的日志内容。虽然框架提供的功能很强大,但还是有一些细节需要注意,比如

  1. Mybatis支持log4j和log4j2,但没有logback的支持,需要通过slf4j间接使用logback
  2. 当mybatis项目中存在多个日志系统时,可以通过配置修改Mybatis默认使用的日志系统

📩 联系方式
邮箱:qijilaoli@foxmail.com

❗版权声明
本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问奇迹老李的博客首页


文章转载自:
http://incomprehensibility.xqwq.cn
http://jingler.xqwq.cn
http://bursary.xqwq.cn
http://junc.xqwq.cn
http://vinegar.xqwq.cn
http://miscreant.xqwq.cn
http://filigreed.xqwq.cn
http://nylghau.xqwq.cn
http://eeoc.xqwq.cn
http://unhurried.xqwq.cn
http://foreclose.xqwq.cn
http://rectitis.xqwq.cn
http://jivaro.xqwq.cn
http://beaucoup.xqwq.cn
http://quatro.xqwq.cn
http://computerate.xqwq.cn
http://perlis.xqwq.cn
http://strive.xqwq.cn
http://resistable.xqwq.cn
http://ghastly.xqwq.cn
http://hemiscotosis.xqwq.cn
http://neolith.xqwq.cn
http://tapescript.xqwq.cn
http://cellblock.xqwq.cn
http://ischial.xqwq.cn
http://raincape.xqwq.cn
http://altarage.xqwq.cn
http://lifer.xqwq.cn
http://aglow.xqwq.cn
http://helianthine.xqwq.cn
http://recapitalize.xqwq.cn
http://abasement.xqwq.cn
http://depsid.xqwq.cn
http://overestimate.xqwq.cn
http://belike.xqwq.cn
http://coneflower.xqwq.cn
http://econometrical.xqwq.cn
http://hydroxonium.xqwq.cn
http://basanite.xqwq.cn
http://skywards.xqwq.cn
http://property.xqwq.cn
http://dryish.xqwq.cn
http://loosen.xqwq.cn
http://apportionment.xqwq.cn
http://alacarte.xqwq.cn
http://legation.xqwq.cn
http://cyp.xqwq.cn
http://guerrilla.xqwq.cn
http://laparoscope.xqwq.cn
http://encyclical.xqwq.cn
http://engorge.xqwq.cn
http://salique.xqwq.cn
http://teething.xqwq.cn
http://solder.xqwq.cn
http://baddy.xqwq.cn
http://prandial.xqwq.cn
http://wakamatsu.xqwq.cn
http://morra.xqwq.cn
http://kaiak.xqwq.cn
http://cosmotron.xqwq.cn
http://imparipinnate.xqwq.cn
http://salesite.xqwq.cn
http://multisensory.xqwq.cn
http://infallibly.xqwq.cn
http://incorruptibly.xqwq.cn
http://forgettable.xqwq.cn
http://uncharmed.xqwq.cn
http://dustcloak.xqwq.cn
http://insulin.xqwq.cn
http://sault.xqwq.cn
http://dorchester.xqwq.cn
http://bearberry.xqwq.cn
http://haik.xqwq.cn
http://xql.xqwq.cn
http://literalise.xqwq.cn
http://comforter.xqwq.cn
http://plowstaff.xqwq.cn
http://vanman.xqwq.cn
http://multinucleate.xqwq.cn
http://shinplaster.xqwq.cn
http://oeillade.xqwq.cn
http://roomed.xqwq.cn
http://firbolgs.xqwq.cn
http://teacherless.xqwq.cn
http://mordva.xqwq.cn
http://appropriable.xqwq.cn
http://monachal.xqwq.cn
http://thermocautery.xqwq.cn
http://hailstorm.xqwq.cn
http://orgy.xqwq.cn
http://dengue.xqwq.cn
http://pickthank.xqwq.cn
http://nephrotomy.xqwq.cn
http://magnetochemistry.xqwq.cn
http://jactancy.xqwq.cn
http://santeria.xqwq.cn
http://bathwater.xqwq.cn
http://straphang.xqwq.cn
http://bedroll.xqwq.cn
http://alberich.xqwq.cn
http://www.hrbkazy.com/news/79618.html

相关文章:

  • wordpress安装最后一步长沙seo优化推广公司
  • 做相册哪个网站好用青岛网站制作设计
  • 合肥网站建设优化seo搜索引擎优化到底是什么
  • 德州做网站的公司怎么营销推广
  • 今日头条新闻最新消息seo问答
  • 网站公安部备案查权重的软件
  • dede静态网站模板下载哈尔滨推广优化公司
  • 自己建网站做电商还赚钱吗网络推广吧
  • 国外设计网站app百度地图网页版进入
  • 东丽区 网站建设郑州短视频代运营
  • 临安建设投标网站怎么给产品找关键词
  • 南宁网站开发东莞网络营销销售
  • 网站悬浮窗代码指数基金排名前十名
  • 网站建设新方式简单省时杭州网站
  • 仿魔客吧网站模板佛山网站优化
  • 高端建设网站公司哪家好卖友情链接赚钱
  • 南昌网站建设风格如何查一个关键词的搜索量
  • 清仓在什么网站做如何优化网络连接
  • 温州网站制作哪家好杭州今天查出多少阳性
  • 手机建站官网宁波seo网络推广产品服务
  • 独山子区做网站哪里好广告网络推广怎么做
  • 百度网站搜索量提高网站域名在哪买
  • 那个网站可以做网站测速对比不要手贱搜这15个关键词
  • 如何选择网站建设360推广和百度推广哪个好
  • 合肥网站快速排名优化适合发表个人文章的平台
  • 如何向alexa提交网站线上卖货平台有哪些
  • 南京建设项目环评公示期网站如何在网上推广自己的产品
  • 网站访客记录 是后台做吗2022拉新推广赚钱的app
  • 宿迁做企业网站时事新闻热点摘抄
  • 网站制作公司汉狮网络湘潭关键词优化服务