laravel 打印完整sql】的更多相关文章

laravel5 用DB自带的getQueryLog方法直接打印: DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::find(1); dump(DB::getQueryLog());exit; 得到的结果语句与参数是分开的,非常不方便验证 array:1 [ 0 => array:3 [ "query" => "select * from `fook_platform_ordercod…
DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::find(1); dump(DB::getQueryLog());…
一.log4jdbc简单介绍: log4jdbc是工作在jdbc层的一个日志框架,能够记录SQL及数据库连接执行信息. 一般的SQL日志会把占位符和参数值分开打印,log4jdbc则会记录数据库执行的完整SQL字符串,在数据库应用开发调试阶段非常有用. log4jdbc具有以下特性: 支持JDBC3和JDBC4. 支持现有大部分JDBC驱动. 易于配置(在大部分情况下,只需要改变驱动类名和jdbc的URL,设置好日志输出级别). 能够自动把SQL变量值加到SQL输出日志中,改进易读性和方便调试.…
前言 今天新年第一天,给大家拜个年,祝大家新的一年里,技术突突突,头发长长长! 咱们搞技术的,比较直接,那就开始吧.我给大家看看我demo工程的效果(代码下边会给大家的): 技术栈是mybatis/mybatis plus,spring boot ,日志是logback. 其实这个痛点吧,我是一直有的,测试或者开发时,日志里每次打印的都是带?的sql,然后还得自己手动一个参数一个参数地贴过去,这真是一个体力活.虽然是体力活,还是做了这么多年了,这次,终于决定不忍了. 在弄这个之前呢,我知道ide…
调试时打印出sql的需求,太正常不过了,mybatis也提供了这样的功能: mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 但它打印的sql里,含有占位符? ==> Preparing: select id, name WHERE id in (?,?,?,?,?,?) ==> Parameters: 1001(String), 1002(String), 1003(String), 1…
方法一(此方法支持 select 语句,insert,delect,update不支持) : $sql = DB::table('my_table')->select()->tosql(); 方法二(此方法支持 select 语句,insert,delect,update不支持) : DB::connection()->enableQueryLog(); // 开启查询日志 DB::table('my_table')->insert($data); // 要查看的sql语句执行 $…
直接打印 use Log; use DB; DB::connection()->enableQueryLog(); Log::info(DB::getQueryLog()); //print_r($orm->toSql());print_r($orm->getBindings());exit; \DB::connection()->enableQueryLog(); \Log::info(\DB::getQueryLog()); 监听 若要打印完整的SQL语句日志可在 app/pr…
javaweb显示完整sql日志 所需jar包: log4j-1.2.17.jar log4jdbc-1.2.jar slf4j-api-1.7.12.jar slf4j-log4j12-1.7.12.jar jar包添加完成后,添加log4j.properties log4j.rootCategory=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=…
之前做项目,一般会有一张,用户操作记录的数据表,里面主要包括一些,用户请求的URL和请求参数,用以记录用户做过哪些事情.并没有以文件的形式来做记录,当然只适合于一些用户量特别少的系统. 而Mybatis打印SQL这个就比较常见了,但是还要保存SQL到数据库就不那么常见了,最近我遇到了一个这样的需求(当然我是为了操作方便,具体业务就不叙说了),主要实现的就是一个把打印的sql给保存起来 其中保存的sql是最终的sql,也就是说,这个sql拿出来是可以直接在数据库客户端执行的!目前这种方式只适合 使…
问题描述 在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整sql调试出来比较好.下面来看两种调试出sql的两种方式 解决方案 方案1: 网上说的比较多的,之前也是这么用的一种方式 1:首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 2:添加如下语句 ###显…
如何迁移完整SQL数据库到另外一台服务器: https://jingyan.baidu.com/album/9f7e7ec080d1b36f28155422.html?picindex=1…
http://blog.csdn.net/gao36951/article/details/53641432 ************************************************** 问题描述 在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整sql调试出来比较好.下面来看两种调试出…
http://www.cnblogs.com/andiki/archive/2009/03/24/1420289.html Code/********************************************************* * 作 用:数据分页(完整SQL分页存储过程(支持多表联接))* 作 者:齐李平* 创建日期:2009-03-23* 使用说明: 1.单表调用方法:EXEC proc_DataPagination @tblName = 'ipa',@fldName…
log4j 1.2 学习和理解 + 打印所有 SQL 一.基本资料 官方文档:http://logging.apache.org/log4j/1.2/manual.html(理解基本概念和其他) logger的继承关系:父级就近(自己有就自己,自己没有父级就近) appender的输出方式:自己+父级所有(additivity="false"只表示父级及以上不生效,不对本身生效) 日志级别定义:Level (Apache Log4j 1.2.17 API) TRACE < DEB…
SpringBoot打印MyBatis sql日志输出 默认情况下mybatis是不开启SQL日志输出,需要手动配置 方法一:(在mybatis整合在springboot框架的情况下) 只需要在配置文件[application.yml]中加入以下配置:(其中com.tj.mapper为项目mapper文件夹路径) logging: level: com.tj.mapper: trace    在application.properties文件中,加入 以下配置: logging.level.co…
/* Preparing: SELECT * FROM tb_user WHERE id = ? AND user_name = ?  目标是打印:SELECT * FROM tb_user WHERE id = 1000059081 AND user_name = '积极'*/ 这部分代码只是拦截了查询和更新,如果想对其他语句进行拦截,在@Intercepts中添加对应方法即可 package dao.Interceptor; import org.apache.commons.collect…
打印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…
http://blog.csdn.net/deng11342/article/details/9122015 http://www.blogjava.net/libin2722/archive/2007/12/04/165153.html 打印Ibatis最终的SQL语句 在项目开发时都大家都希望将SQL在后台打印出来,以帮助开发以及后续的bug修改.如果用JDBC那么可以方便的打印,可使用ibatis就不知道怎么办了,最近在网上找了一段log4j的配置可以很保姆的处理这个问题.这里贴出来给大家…
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',…
DB::listen(function($sql) { foreach ($sql->bindings as $i => $binding) { if ($binding instanceof \DateTime) { $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\''); } else { if (is_string($binding)) { $sql->bindings[$i] = "'$binding…