Laravel输出sql语句】的更多相关文章

$queries = DB::getQueryLog();…
yii2如何输出具体的查询的sql语句: $query = User::find() ->where(['id'=>[1,2,3,4]) ->select(['username']) // 输出SQL语句 $commandQuery = clone $query; echo $commandQuery->createCommand()->getRawSql(); $users = $query->all();…
一.IBatis.net输出SQL语句到控制台 输出IBatis.net生成的SQL语句到控制台,能够方便调试. 如果要想输出IBatis.net的SQL语句到控制台,那么只需要做如下配置即可: <configSections> <!-- 输出IBatis.net执行的SQL语句到控制台 --> <sectionGroup name="iBATIS"> <section name="logging" type="I…
用了NHierbate之后,很少需要写原生的SQL语句,由于总是看不到SQL语句,所以有时候对SQL调优非常不利.因此产生了让NHibernate输出它所生成的SQL语句的想法,以便于后续调优. 一.在控制台输出SQL语句 在控制台程序中,要查看NHibernate所生成的SQL语句,方法非常简单,只需要改下配置文件就OK了. <property name="show_sql">true</property> <property name="fo…
今天遇到了跟下面文章一模一样的问题,下面文章的解决方案很好,在这里记录保存一下. Spring3+MyBatis3整合无法输出SQL语句问题的解决…
一.IBatis.net输出SQL语句 输出IBatis.net生成的SQL语句,能够方便调试. 在MapperHelper类中添加GetSql方法: /// <summary> /// 返回执行的Sql语句 /// </summary> /// <param name="statementName"></param> /// <param name="paramObject"></param>…
我自己是用第一种方法来调试的,第三种不行 不知道为啥 laravel查看sql语句 方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 SQL 语句,我们简单在 routes.php 做个实验即可: //app/Http/routes.php Route::get(‘/test-sql’, function() { DB::enableQueryLog(); $user = App\User::all(); return respo…
在使用 Laravel 的 Eloquent 进行数据查询的时候,很多小伙伴都想看到背后执行的 SQL 语句到底是什么样的,这小笔录就是解决这个小问题的: 在 Providers/AppServiceProvider.php 的 boot 方法添加一行代码就行: public function boot() { \DB::listen(function($query) { \Log::info($query); }); } 这个时候,只要你刷新页面,有执行到 SQL 查询,就可以到 storag…
背景 在Egg开发实践中,经常会遇到一个问题:如何查看刚刚执行过的Egg组装的原生SQL语句呢? 1. 现有方案 可以直接在项目的config配置文件中添加MySQL配置debug: true.这会启用底层模块mysql的调试标志,然后输出有关SQL语句的详尽信息,效果如下: 2. 弊端 debug: true方案有如下弊端: 输出信息过于详细,在实际开发中反而会干扰我们快速查看其他日志信息 没有输出SQL语句的执行时间 3. 理想方案 对于一个理想的SQL语句输出方案,我们其实只关心两个问题:…
打印sql语句,直接在你执行SQL语句后输出 方法一: $queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace('?', '"'.'%s'.'"', $a["query"]); echo vsprintf($tmp, $a['bindings']); exit; 方法二:  注意 放在routes.php上面 Event::listen('illuminate.query',funct…
一.引言 其实Druid的内置了log4jdbc来显示SQL语句,虽然显示效果不如原生的log4jdbc效果好,但是因为内置所以不需要其他更多的配置. 二.使用 1. 创建基于druid的logger <bean id="log-filter" class="com.alibaba.druid.filter.logging.Slf4jLogFilter"> <property name="connectionLogEnabled"…
thinkphp 和 laravel是phper开发中用的比较多的两个框架,无所谓好坏,看个人习惯及喜爱! 前言对于一个PHP应用,可能最多的就是操作数据,以致于初学者有时只把php当做数据库增删查改的工具(这也无可厚非).而基于框架的语言,在框架中自然不能少了对数据库操作的封装,总想打开源码,看看到底是怎么工作的,趁着有时间~~ thinkphp[tp框架] 首先是这个中国人用的最多的框架说起. ps:我是基于thinkphp3.2来说,tp5.x党见谅~ thinkphp支持对原生的sql语…
重建包名 org.hibernate.type.descriptor.sql 重建类BasicBinder 代码如下 package org.hibernate.type.descriptor.sql; import java.sql.PreparedStatement; import java.sql.SQLException; import org.hibernate.internal.CoreLogging; import org.hibernate.type.descriptor.Jdb…
配置方法:1.打开hibernate.cfg.xml文件编辑界面,在Properties窗口处,点击Add按钮,选择Show_SQL参数,输入值为True. *另外,如果按照同样的步骤,分别加入以下参数,可以让SQL语句更加完美:2.参数:format_sql=true 使SQL语句格式更加美观统一:3.参数:use_sql_comments=true 使SQL语句中自动注入注释,增加可读性. 生成代码: <property name="show_sql">true<…
项目是基于框架Yii 2.0开发的. 今天梳理一些数据统计功能代码的时候,想把当前运行的sql语句打印出来,然后放到navicat工具里面运行,并分析一下运行效率和调优方案,之前大部分时候都是写增加.删除.修改.查询,这个打印sql语句的还真是用的很少,去官网查了一下资料,完美解决. Yii 2.0提供2种数据操作方式,一种是数据模型[models],一种是[\yii\db\Query()],具体使用哪种,看个人喜好. models模式打印sql语句举例如下: $query = User::fi…
在 AppServiceProvider.php 中的 boot 方法中添加如下代码 即可 public function boot() { //数据库监听 DB::listen(function ($query) { //排除时间 //%Y-%m-%d %H:%i $tmp = str_replace('%', '"' . '^^' . '"', $query->sql); $tmp = str_replace('?', '"' . '%s' . '"',…
.修改数据库驱动 phpcms/libs/classes/mysql..修改模型 phpcms/libs/classes/model..调用 使用自定义模型类查询完成之后,调用模型类的lastsql()方法即可 phpsso的mysql类以及model类可改可不改,一般情况下用不到…
# Configures Log4j for Tomcat and Sakai # use "A" for log in with catalina.out (actually standard output) log4j.rootLogger=WARN, Sakai # Configuration for standard output ("catalina.out" in Tomcat). log4j.appender.Sakai=org.apache.log4…
\DB::connection()->enableQueryLog(); some sql action... $query = \DB::getQueryLog(); $lastQuery = end($query); dd($lastQuery); php artisan tinker DB::listen(function($sql){ var_dump($sql); }); Inside AppServiceProvider.php add the following to the bo…
可以用 $model->find()->createCommand()->getRawSql(); 不能带 all(). find() 它的 返回值类型是 yii\db\ActiveQuery, 而find()->all() 返回的就是数组了. 举个栗子…
public function getCurrencyOrder($user_id=70,$pid=252,$register=['register:first']) { DB::connection()->enableQueryLog(); // 开启查询日志 $data=CurrencyOrder::selectRaw("sum(amount) AS total") ->where('owner_id',$user_id) ->where('target_id',…
1: mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <…
DataClassesDataContext db = new DataClassesDataContext(); db.Log=Response.Output; var result = from de in db.Department where de.DepartmentParentID == 9 select de; GridView1.DataSource = result; GridView1.DataBind();…
$queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace('?', '"'.'%s'.'"', $a["query"]); echo vsprintf($tmp, $a['bindings']); exit;…
mybatis3.2.7有一个bug,使用log4j2 (2.0.2)版本时,会找不到类 ,导致启动失败,详见 https://github.com/mybatis/mybatis-3/issues/235 但没过多久 , 3.2.8就已经修复了这个bug , 最新的mybatis3.2.8下载地址为: https://github.com/mybatis/mybatis-3/releases mybatis 3.2.8 整合 log4j2.0.2并不复杂 , 如果用spring-mvc做为we…
Route::get('/test-sql', function(){ DB::enableQueryLog(); $user = App\User::first(); return DB::getQueryLog(); });…
echo $model->getLastSql();//$model为实例化的模板类…
在 application.properties 中加入以下配置 spring.jpa.show-sql=true…
方法一: 这种方法是mybatis官网上介绍的,比较好用: log4j.properties: log4j.rootLogger=ERROR,consolelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=[%-5p] %d…