首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何优雅的Mybatis日志中的Preparing与Parameters转换为可执行SQL

我们大家在工作中应该都是用过Mybatis吧,有时候我们在本地调试的时候,会打开Mybatis的SQL日志打印,那么打印出来的SQL是下图这样的 你可以看到预编译的SQL条件用占位符(?)...,并不是真实的SQL select * from User where id = 1 。 如果我们想得到真实的SQL,像上图那样参数少的话还可以自己把参数值手动拼上去,但是如果参数多了呢?...不用MAME麻烦,今天就告诉你如何mybatis日志的Preparing与Parameters转化为可执行sql。...(如下已经安装完成) 然后我们就可以选中SQL日志右键选择:Restore Sql from Selection 然后就可以在Mybatis Log窗口看到真实的SQL了...script type="text/javascript"> function f(obj){ var textVa = obj.value; // 获取带问号的SQL

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

干货 | 重温五条 AI 基础规律

虽说 AI 的工作方式挺神秘的,但在处理技术问题的时候,以下这五个 AI 原则应该可以帮你规避一些错误。...利用未曾见过的数据评估AI系统 在上一篇文章中,我们介绍了如何构建分类器以图像标记为猫(绿色圆圈)或狗(蓝色三角形)。...在将我们的训练数据转换为向量之后,我们得到了下面的图表,其中红线表示我们的“决策边界”(即将训练数据转换为向量后,这条“边界线”就将图像划分为猫和狗)。 ?...我可以举一个关于我自己的真实例子,当我读研一时,我们实验室的同学兼 Eloquent 的研究员 Angel 和我参与了一个项目,我们各自语言里描述时间的词转化成可供机器阅读的格式。...和往常一样,如果你有任何问题、意见或反馈,请发送电子邮件至 hello@eloquent.ai。填写注册表格订阅,我们直接发送这些帖子到你的邮箱,并访问我们的主页 eloquent.ai。

36720

博客 | 重温五条 AI 基础规律

虽说 AI 的工作方式挺神秘的,但在处理技术问题的时候,以下这五个 AI 原则应该可以帮你规避一些错误。...利用未曾见过的数据评估AI系统 在上一篇文章中,我们介绍了如何构建分类器以图像标记为猫(绿色圆圈)或狗(蓝色三角形)。...在将我们的训练数据转换为向量之后,我们得到了下面的图表,其中红线表示我们的“决策边界”(即将训练数据转换为向量后,这条“边界线”就将图像划分为猫和狗)。 ?...我可以举一个关于我自己的真实例子,当我读研一时,我们实验室的同学兼 Eloquent 的研究员 Angel 和我参与了一个项目,我们各自语言里描述时间的词转化成可供机器阅读的格式。...和往常一样,如果你有任何问题、意见或反馈,请发送电子邮件至 hello@eloquent.ai。填写注册表格订阅,我们直接发送这些帖子到你的邮箱,并访问我们的主页 eloquent.ai。

36410

orm 系列 之 Eloquent演化历程1

是怎么设计的,active record这种模式的优缺点等问题,下面我会带领大家从头开始看看Eloquent如何设计并实现的。...本文是orm系列的第二篇,也是Eloquent演化的第一篇,Eloquent系列会尝试着讲清楚Eloquent如何一步一步演化到目前功能强大的版本的,但是毕竟个人能力有限,不可能分析的非常完善,总会有不懂的地方...类,其功能就是屏蔽sql,让我们能用面向对象的方式来完成sql的查询功能,Builder应该是sql builder,此时Eloquent的主要的类就如下: 其中Builder负责sql的组装,Connection...负责具体的数据库交互,其中多出来一个Grammar,其负责主要是负责Builder里面存储的数据转化为sql。...负责数据库操作,Builder负责面向对象的sql操作,Grammar负责sql的拼装,Eloquent/Model是Active Record模式的核心Model,同时具备领域逻辑和数据库操作功能,其中数据库操作功能是委托给了

1K30

通过Eloquent实现Repository模式

胖胖的Eloquent Eloquent采用了ActiveRecord的模式,这也让Eloquent招致了好多批评,让我们去看现在Eloquent/Model.php文件, 该文件已经有3500多行,此时的...的实现由Eloquen转换为其他呢?...这将会使应用出错 我们每个更改都是执行一个sql语句,严重浪费,我们完全可以做完更改后,统一一次update 通过上面的对比,我们更能发现使用Repository和Interface的好处,能让我们更好的实现关注点分离...有以下几个方案 让findActivePosts返回�Collection,而不是Eloquent\Collection,避免在Repository之外使用Eloquent相关的功能 通过custom...的功能耦合,我们应该正确的使用它,Eloquent的ActiveRecord模式可以让我们非常容易的实现DataMapper,根据Clean architecture的定义,我们domain services

66130

基于独立的 Laravel Eloquent 组件编写 ORM 模型类

ORM 及其实现模式 接下来我们来看看如何实现 MVC 模式中的 M,即模型类。...一个模型类对应一张数据表,数据表的字段会映射为模型类的属性,我们可以通过模型类提供的方法实现对应数据表记录的增删改查,这样一来,我们就将原来面向过程的数据库操作转化为面向对象风格的编程,将对数据表的 SQL...Eloquent 提供的模型事件功能,还可以下载 Laravel 提供的独立事件扩展包: composer require illuminate/events 上述扩展包下载完成后,就可以在博客项目根目录下的...进入 vendor/illuminate/database,可以通过阅读 README.md 文件查看如何使用独立的 Eloquent ORM 组件,接下来,我们参照这个文档介绍来编写博客项目的模型类实现...://github.com/nonfu/master-laravel-code/tree/v0.9/practice/blog 小结 至此,我们就完成了 MVC 模式在博客应用中的落地,下篇教程,我们探索如何通过现代工程化的方式管理前端资源和依赖

1.9K10

深入理解 Laravel Eloquent(三)——模型间关系(关联)

在本篇文章中,我跟大家一起学习 Eloquent 中最复杂也是最难理解的部分——模型间关系。...() { return $this->hasOne('Account', 'user_id', 'id'); } } 然后,当我们需要用到这种关系的时候,该如何使用呢?...---- 这段代码除了展示了一对一关系该如何使用之外,还传达了三点信息,也是我对于大家使用 Eloquent 时候的建议: 1....) { return $this->hasMany('Pay', 'user_id', 'id'); } } 然后,当我们需要用到这种关系的时候,该如何使用呢?...这样 1 + 10 条 SQL 就变成了 1 + 1 条,性能大增。 ---- 至此,深入理解 Laravel Eloquent 系列文章到此结束。推荐继续了解 软删除 、转换成数组/JSON。

2.6K30

orm 系列 之 Eloquent演化历程2

本文是orm系列的第三篇,也是Eloquent演化的第二篇,Eloquent系列会尝试着讲清楚Eloquent如何一步一步演化到目前功能强大的版本的,但是毕竟个人能力有限,不可能分析的非常完善,总会有不懂的地方...is_null($sql = $grammar->$method($this, $command))) { $statements = array_merge($statements...:包含了最基本的Sql的操作和语法逻辑,类似于自定义了一个DSL语言,提供了面向对象的操作方式 Schema:这也是本篇讲migrations or database modification logic...本文最后讲下Eloquent中新增的对象之间的关系:多态关系,以下内容摘自[ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系 表结构 多态关联允许一个模型在单个关联下属于多个不同模型...第二步setAsGlobal,其动作就做了static::$instance = $this,通过实例设置为静态变量,我们就能在全局通过静态方法来访问Capsule了。

2.4K30

分享8个Laravel模型时间戳使用技巧小结

默认情况下,Laravel Eloquent 模型默认数据表有 created_at 和 updated_at 两个字段。当然,我们可以做很多自定义配置,实现很多有趣的功能。下面举例说明。 1....禁用时间戳 如果数据表没有这两个字段,保存数据时 Model::create($arrayOfValues); —— 会看到 SQL error。...修改时间戳日期 / 时间格式 以下内容引用官网文档 official Laravel documentation: 默认情况下,时间戳自动格式为 ‘Y-m-d H:i:s’。...例如,某个 comment 被更新,那么您希望 post 表的 updated_at 也更新。...默认情况下,created_at 和 updated_at 字段被自动转换为 $dates, 所以您不需要将他们转换为 Carbon 实例,即可以使用 Carbon 的方法。

3.7K31

orm 系列 之 Eloquent使用1

Eloquent ORM 本文会是一个Eloquent的使用教程,在此之前,我们先讲述下怎么搭建环境,完整的系列请查看orm 基础环境的搭建 记录下怎么用docker搭建laravel的环境 新建项目composer...create-project --prefer-dist laravel/laravel eloquent 添加laradock cd eloquent;git init;git submodule...于是就可以通过设置Sequel Pro进行连接了,如下图所示 下一步是phpstorm的设置,可以参考文章如何使用PhpStorm實現TDD、重構與偵錯然后再是让如何在PhpStorm活用PHPDoc?...通过Eloquent的Scheme Builder构建数据库 通过使用Schema Builder我们可以在设计数据库的时候,不写一行sql,通过Schema Builder,我们可以 creating...下面数据库的migration功能。 migrations migration是为了解决什么问题而引入的?

1.7K20

在 Laravel Eloquent 模型类中使用作用域进行查询

问题引出 在通过 Eloquent 模型实现增删改查这篇教程中,我们已经学习了如何Eloquent 模型类中进行各种查询,但是这些查询大多需要手动调用查询构建器提供的各种方法来实现。...我们将那些需要在多处调用的查询条件编写过滤器,然后调用查询代码的地方改为调用过滤器,调用过滤器比编写那些冗长而重复的查询方法更加便捷,可读性也更好。...接下来,我们就来演示如何Eloquent 模型类上使用「作用域」进行查询。...这样,就可以刚刚编写的全局过滤器应用到 User 模型上。如果有多个全局作用域类,可以多次调用 static::addGlobalScope 方法来注册。...); 对应的 SQL 语句如下: select * from `posts` where `status` = ?

2.5K20

Laravel Eloquent 模型关联关系详解(上)

我们所熟知的 MySQL、SQL Server、Oracle 都是关系型数据库,何谓关系型数据库?简单来说就是数据表之间存在关联关系。...到目前为止,我们介绍的所有 Eloquent 模型操作都是针对单表的,接下来我们花三篇左右的篇幅来给大家介绍如何Eloquent 模型类中建立模型之间的各种关联关系,以及如何实现关联查询和更新。...Eloquent 模型支持的关联关系包括以下七种: 一对一 一对多 多对多 远层一对多 多态关联(一对一) 多态关联(一对多) 多态关联(多对多) 下面我们将以设计一个简单的博客系统数据库为例一一介绍上述关联关系...可以,Eloquent 为我们提供了 with 方法,我们需要查询的关联关系动态属性(关联方法名)传入该方法,并将其链接到 Eloquent 模型原有的查询中,就可以一次完成关联查询,加上模型自身查询...我们这种加载方式叫做「渴求式加载」,即根据所需预先查询所有数据。

9.8K40

Laravel Eloquent 模型关联关系(下)

今天我们将在定义好模型关联的基础上进行关联查询、插入和更新操作,看看如何借助模型关联提高代码的可读性并提高编码效率。...class) ->whereNull('deleted_at'); }); })->get(); 如果你想过滤文章标题或评论都包含「Laravel学院」的用户,...我们这种加载叫做懒惰渴求式加载,这种加载可以通过 load 方法实现: $users = User::all(); $condition = true; if ($condition) {...这样,我们就不需要在每个地方去判断如果文章作者信息为空该如何处理了,因为这种情况下返回的也是一个正常的 User 模型实例。...模型的管理关系,回顾一下,主要包含以下内容: 七种关联关系的定义:一对一、一对多、多对多、远层一对多、一对一的多态关联、一对多的多态关联、多对多的多态关联; 以上关联关系的查询,主要包含两种方式:懒惰式加载和渴求式加载

19.5K30
领券