NHibernate配置记录SQL

在.net中使用NHibernate框架的详细教程(带图教程) 本文档是我在使用NHibernate框架的一些感悟,里面是我精心炮制的带图详细教程,一步一步教导初学者使用NHibernate框架,适合初学者,大家可以交流一下心得。 立即下载

日志位置

由于NProfile不可以使用了,无法直观的看到sql 很是蛋疼,

现需要配置NHibernate及Log4Net完成记录sql的工作

如下,Error文件夹及NHibernate文件夹是公司架构师配置的原有文件,本次升级的是增加了NHibernateSQL文件夹

Logs\Error

Logs\NHibernate

Logs\NHibernateSQL

 

具体配置

如下图所示log4Net的配置,测试环境vs2017  log4net版本  log4net for .netFramework4.0

  <log4net>
    <appender name="ErrorLogAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Logs/Error/" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="StaticLogFileName" value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>
    <appender name="HibernateLog" type="log4net.Appender.RollingFileAppender">
      <file value="logs/NHibernate/log.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <appender name="RollingLogFileAppender" type="log4Net.Appender.RollingFileAppender">
      <file value="logs/NHibernateSQL/log.txt" /><appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
      </layout>
    </appender>
    <logger name="ErrorLog">
      <level value="ALL" />
      <appender-ref ref="ErrorLogAppender" />
    </logger>
    <logger name="NHibernate">
      <level value="ALL" />
      <appender-ref ref="HibernateLog" />
    </logger>
    <!--配置显示sql 与下面的log4Net配合使用-->
    <logger name="NHibernate.SQL">
      <level value="ALL"></level>
      <appender-ref ref="RollingLogFileAppender"></appender-ref>
    </logger>
  </log4net>
  

无关配置

      <property name="show_sql">true</property>

Global.asax.cs 
            //log4net初始化
            log4net.Config.XmlConfigurator.Configure();

 

 

sql样例解读

SELECT org0_.Id            as Id6_0_,

       org0_.Name          as Name6_0_,

       org0_.ParentId      as ParentId6_0_,

       org0_.Branch        as Branch6_0_,

       org0_.LinkMan       as LinkMan6_0_,

       org0_.LinkTel       as LinkTel6_0_,

       org0_.CreateTime    as CreateTime6_0_,

       org0_.CreateUserId  as CreateUs8_6_0_,

       org0_.OrgUnitTypeId as OrgUnitT9_6_0_,

       org0_.IsDefault     as IsDefault6_0_,

       org0_.UnitCode      as UnitCode6_0_,

       org0_.ParentCode    as ParentCode6_0_,

       org0_.CrmId         as CrmId6_0_,

       org0_.Address       as Address6_0_

  FROM test_org org0_

  where :p0 = 1          --==>  WHERE 1 = 1

  and org0_.Id = :p1;    --==>  and org0_.Id = 3;

:p0 = True [ Type :Boolean(0) ],     --  表示:p0==1  ,True是Boolean 类型

:p1 = 3 [ Type :Int32(0) ]          --  表示:p1==3  ,将sql中的:p1用3替换

西门子 标准程序解读---> 机器手抓取和涂胶控制程序 摘要 该程序实现机械手在OP70/OP90工位的自动化控制,核心功能包括: 流程控制:分段(Seg1-Seg11)管理抓件、涂胶、放件等动作,结合DB1050/DB1250数据块监控工位状态及变位机位置反馈。 安全机制:配置干涉区(FC124)、实时检测安全光/急停信号,防止碰撞;服务程序(FB191)支持维修位触发与安全隔离。 参数配置:通过DB块关联机器人速度、节拍(FB27)、车型编码(如空过=2)及手自动模式(DB70.DBX21.2)。 应用场景:适用于汽车焊接/装配线 阅读详情

相关推荐

深入浅出DNS系列(一)- DNS杂谈

黄丝玛:班达山,你好,我记性不好,你告诉我搜狐、新浪的网站IP地址好吗? 班达山:你问问DNS先生吧,他专门干这买卖的

jiangsd198的博客 4129

NHibernate输出SQL语句

NHibernate输出SQL语句   用了NHierbate之后,很少需要写原生的SQL语句,由于总是看不到SQL语句,所以有时候对SQL调优非常不利。因此产生了让NHibernate输出它所生成的SQL语句的想法,以便于后续调优。 一、在控制台输出SQL语句 ...

ajwqb06628的专栏 409

告别Docker Desktop!Colima在Mac上的5分钟极速安装与配置指南(M1芯片实测)

本文详细介绍了如何在Mac(尤其是M1芯片)上快速安装和配置Colima,作为Docker Desktop的免费替代品。通过优化配置和实战指南,帮助开发者提升容器运行效率,减少资源占用,实现丝滑的开发体验。

weixin_28839601的博客 445

[NHibernate]利用LINQPad查看NHibernate生成SQL语句

  上篇文章中我们提到可以通过重写NHibernate的EmptyInterceptor 拦截器来监控NHibernate发送给数据库的SQL脚本,今天看到有朋友用LINQPad工具来进行NHibernate生成的SQL语句监控,试了下感觉更直观了。当然这不是LINQPad的主要功能,但我们可以通过这种方法来达到我们的目的。   接下来,我们看一下如何使用LINQPad来查看NHib...

219

weblogic 集群搭建,双机部署,相关问题记录

4.5.集群搭建1 参考网址https://wenku.baidu.com/view/76365129cd1755270722192e453610661ed95aa4.html IP地址 端口 角色 192.168.1.160 9001 AdminServer ...

zl386119974的专栏 1669

别再手动备份了!用Python脚本批量导出华为/华三交换机配置(附完整代码)

本文详细介绍了如何使用Python脚本实现华为/华三交换机配置的自动化备份,大幅提升网络运维效率。通过paramiko库建立SSH连接,结合pandas处理设备清单,实现配置的批量导出与规范化存储,解决传统手动备份耗时易错的问题。

weixin_28737603的博客 448

.NET 常用ORM之NHibernate

NHibernate做.Net应该都不陌生,今天我们就算是温故下这个技术,概念性的东西就不说了,这次主要说本人在实际使用的遇到的问题,比较费解现在就当是记录下,避免以后再犯。本次主要使用的情况是1对N多表关联操作,具体情况如下(给出主要代码): 一、NHibernate配置 (1) 引入动态库   Antlr3.Runtime.dll、NHibernate.dll、Newtonso...

banggujuan3308的博客 368

谷粒商城篇章9 ---- P248-P261/P292-P294 ---- 消息队列【分布式高级篇六】

RabbitMQ消息队列、RabbitMQ延时队列。

weixin_48568302的博客 1549

hibernate输出sql语句参数配置

关键字: 让hibernate输出sql语句参数配置 在J2ee应用中,如果采用Hibernate框架,可以自动建立数据库实体与Java实体类的映射关系,大大方便Java程序进行持久化对象访问和操作,从而明显提高企业应用开发效率,减轻Java程序与后台数据库的依赖性。 但是,有时候如果操作不慎,可能造成映射关系不完整(特别是存在外键链接的时候),造成访问数据库对象时程序有Bug。这时,可以通过参数...

lsh0118的专栏 586

用python将dycom .dcm格式图像转换为nifti .nii

因为发现目前搜索到的多数中文教程并不能正确将FMRI图像正确转换,例如很多用simpleITk的seriesreader的,所以写了一下自己正确转换的方法。因为FMRI是一个4D数据,有时间轴,所以用seriesreader读写出来的图像把时间轴维度给降维了。当然你用SPM12工具的dycom import也是能正确转换的,但是我还是喜欢python这样的,代码直接简单。

qq_41103479的博客 3609

手把手教你绕过网易易盾验证码:滑块、点选、语序全攻略

本文深度解析了以网易易盾为代表的现代验证码技术,重点探讨了滑块、点选、语序及空间推理等交互式验证码的工作原理与对抗策略。文章从行为验证和空间推理的核心逻辑出发,剖析了验证码交互的数据流与关键参数,并提供了模拟人类行为轨迹、维护设备指纹等工程实践方法,旨在帮助开发者在合规前提下设计更健壮的自动化流程。

3c4x5z6v7b的博客 690

NHibernate Profiler使用简单教程

最近在使用NHibernate的时候,为了便于分析底层的SQL语句,使用了NHibernate Profiler. 发现教程不多,所以稍作总结。下文主要转载自博客园“小桥屋檐下”。 NHibernate Profiler是一款可以监视NHibernate里的sql语句的工具 1、下载NHibernate Profiler,可在此网站下载http://nhprof.com/。之后需要li

写代码的蜗牛 2599

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.5 RTC设备编写与实现

4. Linux kernel RTC子系统goldfish_rtc driver分析。电脑,会需要时间,还比如 我们的手机、平板,都需要时间;驱动基本就是应用层需要什么数据你给什么数据就行,基本必须实现的就是。3.2 Linux kernel RTC 设备描述符讲解。中看到他的具体实现,也可以根据他的寄存器描述直接在。5. 将驱动添加进kernel和测试RTC驱动。系统来说,时间是一个非常重要的功能;之类的函数接口,接下来我们就开始讲解如何写。,所以我们直接移植设备树即可。,他的寄存器很简单,你可以从。

DSMGUOGUO的博客 568

如何查看NHibernate中生成的SQL

1. 在NHibernate的配置文件中加上<propertyname="show_sql">true</property>2. 在Log4Net中的配置文件中加上 <loggername="NHibernate"><levelvalue="WARN"/><appender-refref="R...

weixin_30374009的博客 340

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

使用Log4net调试NHibernate

如果是Asp.net程序,首先配置web.config文件:               />                  NHibernate.Dialect.MsSql2000Dialect      NHibernate.Connection.DriverConnectionProvider              Server=(local);initial catalog=nh

chy2z的专栏 467

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NHibernate和Castle调试过程中,如何输出SQL的问题

首先,我在此需要强调的是,不管是Castle或者NHibernate输出SQL,都应该是属于NHibernate的技术,Castle的本身也是基于NHibernate开发的ORM框架,NHibernate的一些特征,Castle都具备 Castle ActiveRecord框架是一个基于.NET的ORM框架,它实现了ActiveRecord设计模式。它本身就是基于NHiber...

weixin_30735391的博客 155

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NHibernate的调试技巧和Log4Net配置

NHibernate的调试技巧和Log4Net配置 对新手而言NHibernate的调试事件很痛苦的事情,不知道NHibernate做了些什么,错误出现在什么地方。我给出一些常用的调试办法希望对你有所帮助。 1.查看NHibernate写在控制台里的Sql语句在配置文件中有这么个选项,如果把它设置为true,NHibernate会把执行的Sql显示在控制台上。propert

1873

log4net NHibernate日志配置

1. 通过Nuget引用log4net 2. 在程序开始的执行的地方(一般是在Global.asax文件中)加入下面log4net配置语句 protected void Application_Start() { log4net.Config.XmlConfigurator.Configure(); } 3. 在web.config 中configura...

weixin_30813225的博客 97

log4net筛选Nhibernate日志

同样,本篇开头直接说结论:Nhibernate自带log4net记录日志,所以配置好log4net后,Nhibernate的日志会自动记录到log,但是log过于详细,查询问题不便。可以通过logger来进行Nhibernate记录日志的筛选。 参考文档:   1.Log4net日志使用教程-控制台、文本、数据库三种记录方式 <?xml version="1.0" ...

weixin_30699831的博客 212

NHibernate config 文件的配置 事例!!

================================================红字部分是NHibernate 的配置 其它为 .net 自动生成的================================================ <?xml version="1.0"?><!-- 注意: 除了手动编辑此文件以外,您还可以使用 ...

weixin_30794491的博客 88

castle故障检测

来源:http://wiki.castleproject.org/index.php/ActiveRecord:Troubleshooting故障检测有时候你的映射可能存在一些错误,或者你想看你的sql语句到底是什么一回事这个时候我们就需要把 NHibernate 的日记记录打开允许日记记录nhibernate用的是log4net. 以下的配置中他是将信息写到 log.txt中的(程序运行的时候被...

weixin_30700099的博客 101

Castle3+NHibernate3.1笔记

配置花了不少力气。原本想用NHibernate.JetDriver连Access数据库。 失败,JetDriver只找到适合NHibernate2.0的版本,有没有3.0以上是个未知数。 之后用Castle3+NHibernate3.1连SQL2005数据库。配置 参考http://taven.javaeye.com/blog/798586,也算是测试成了。 不求甚解,项目...

stoco的专栏 156
上一篇: Net是如何处理Xml的
下一篇: 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
wei198621
博客等级 码龄20年 169粉丝 388原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值