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

很开心,在使用mybatis的过程中我踩到一个坑。

在实际开发过程中我踩到了mybatis的一个坑,我觉得值得记录、分享一下。 先说说这个坑是什么吧。如果你踩过这个坑,并且知道具体的原因,那这篇文章可以加深你的印象。...通过调用链,往后走三步,我们可以看到sql是从boundSql中获取到的: ? 那么boundSql是从哪里来的呢?我们继续往回走。 往回走11步,我们可以看到boundSql的获取过程: ?...是的,我无脑的使用了CV大法。导致我在欢声笑语中写出了bug。我orderStatus传入的类型是一个Byte,和""做判断有任何意义吗?...然后还有其他的大量文章都只是扔给你一个解决方法,并没有写为什么这样写就可以解决这个问题。...后来我把这个问题分享在群里之后,群里一个朋友也给我分享了一篇文章,肥朝大佬写的《还有这种操作?浅析为什么要看源码》。文中给出了另一种解决方案,有理有据,简明扼要,是一篇很好的文章,大家可以看看。 ?

1K10

很开心,在使用mybatis的过程中我踩到一个坑。

这是why技术的第14篇原创文章 在实际开发过程中我踩到了mybatis的一个坑,我觉得值得记录、分享一下。 先说说这个坑是什么吧。...通过调用链,往后走三步,我们可以看到sql是从boundSql中获取到的: ? 那么boundSql是从哪里来的呢?我们继续往回走。 往回走11步,我们可以看到boundSql的获取过程: ?...是的,我无脑的使用了CV大法。导致我在欢声笑语中写出了bug。我orderStatus传入的类型是一个Byte,和""做判断有任何意义吗?...然后还有其他的大量文章都只是扔给你一个解决方法,并没有写为什么这样写就可以解决这个问题。...后来我把这个问题分享在群里之后,群里一个朋友也给我分享了一篇文章,肥朝大佬写的《还有这种操作?浅析为什么要看源码》。文中给出了另一种解决方案,有理有据,简明扼要,是一篇很好的文章,大家可以看看。 ?

1.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在 linux 中我安装了一个命令行,是否所有用户都可以使用这个命令,比如 docker?

    分享一个 linux 技能飞书话题群的一个问题。 ---- 问: 在linux系统里,普通用户目录是在 /home 下,root用户目录在 /root,因此全部用户共享目录的。...那如果我们要装一个东西的话,是不是只用装一遍?(比如说ohmyzsh之类的) 我之前在自己服务器上,每次都需要安装两遍,一次只有当前那个用户生效,这是为什么呢?...---- 答: 不一定,当我们说我们在 linux 装了一个东西,指的是:「我们装了一个命令,可全局执行」。此时是将该命令放在了全局执行目录(或者将该命令目录放在了 $PATH)。...哦对,PATH 该路径列表可自定义,而每一个用户都可以有独立的 PATH 环境变量。...所以,要看一个命令是所有用户共享还是仅对当前用户有效,具体要看该命令是怎么装的,可以看看 which command 进一步排查。

    7.4K60

    Fragment初识

    例如:新闻应用可以使用一个片段在左侧显示文章列表,使用另一个片段在右侧显示文章—两个片段并排显示在一个 Activity 中,每个片段都具有自己的一套生命周期回调方法,并各自处理自己的用户输入事件。...也就是说,由于每个片段都会通过各自的生命周期回调来定义其自己的布局和行为,您可以将一个片段加入多个 Activity,因此,您应该采用可复用式设计,避免直接从某个片段直接操纵另一个片段。...这特别重要,因为模块化片段让您可以通过更改片段的组合方式来适应不同的屏幕尺寸。 在设计可同时支持平板电脑和手机的应用时,您可以在不同的布局配置中重复使用您的片段,以根据可用的屏幕空间优化用户体验。...v4,可以向下兼容 Fragment需要嵌套在Activity中使用,当然也可以嵌套到另外一个Fragment中,但这个被嵌套 的Fragment也是需要嵌套在Activity中的,间接地说,Fragment...Fragment中的UI控件 TextView tv = (TextView) findViewById(R.id.textview); tv.setText("我在Act

    1.2K20

    Android数据存储之SharePreferences简记

    代码执行过后,即在/data/data/com.test/shared_prefs目录下生成了一个SP.xml文件,一个应用可以创建多个这样的xml文件。如图所示: ?...如上面代码中因为并无值为"NOT_EXIST"的Key,所以Log打印出的是其默认值:“none”。在访问一个不存在key值这个过程中,并无任何异常抛出。 ?...MODE_WORLD_READABLE:表示当前文件可以被其他应用读取. MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入 SP.xml中的文件 中的代码片段  //获取SharedPreferences对象     Context ctx = LoginActivity.this;     SharedPreferences..."Uemail",user.getUemail());     ed.putString("Usex",user.getUsex());     ed.commit(); 资料编辑Activity中的代码片段

    2.1K11

    PyQt5 代码片段集合

    PyQt5是Qt的Python绑定库,既有Qt的强大,又有Python语言的简洁,要实现一个实际场景的GUI程序的时候,确实非常实用而且代码量不是太多。...这里我总结了最近写一个界面时用到的代码片段,希望以后用到的时候能及时拾起来,也希望能帮助到别人。 此外我将这个内容也放到GitHub上,有兴趣的同学可以收藏下。...安装 目前PyQt主要是4和5版本,因为两者不兼容,因此官方建议使用PyQt5, 这里以Python3 为例进行说明。...pip3 install PyQt5 SIP 安装好后可以使用下面这个代码片段测试安装是否成功,如果可以正常运行说明安装已经成功: import sys from PyQt5 import QtCore...,只列出了一些常用的功能,别的功能还得在使用的时候再查找。

    68230

    springboot高级特性之邮件发送

    springboot中 整合了mail帮助我们更方便的发送邮件 平时我们发送邮件是通过 邮件的服务器发送出去的 比如qq邮件调用qq的邮件服务器 网易的邮件通过网易的服务器 我们使用邮件服务器发送邮件需要提前配置一些内容...我要以使用qq邮箱服务器发送邮件为例 我们登录qq邮箱 点击设置 进来之后点击账户 下拉 找到开启服务 发送一条短信之后即可开启 然后我们点击黄色框中的生成授权码 会给我们生成一个授权码...一会我们需要使用到这个授权码 复制记录好授权码 我们创建一个springboot工程 导入发送邮件的依赖 org.springframework.boot...MimeMessageHelper(mimeMessage,true); helper.setSubject("今天开学"); //Text兼容html片段...参数二 表示当前是否是html标签 helper.setText("今天开学啦!!

    31910

    拖动条SeekBar和星级评分条RatingBar

    为了让程序能响应拖动条滑块位置的改变,程序可以为SeekBar绑定一个OnSeekBaiChangeListener监听器,其三个回调方法如下: onProgressChanged:进度发生改变时会触发...接下来通过一个简单的示例程序来学习系统默认SeekBar的使用。...继续使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建seekbar_layout.xml文件,在其中填充如下代码片段: 可以考虑为它绑定一个OnRatingBarChangeListener监听器。 接下来通过一个简单的示例程序来学习系统默认RatingBar的使用。...继续使用WidgetSample工程的advancedviewsample模块,在app/main/res/layout/目录下创建ratingbar_layout.xml文件,在其中填充如下代码片段:

    1.5K90

    pyqt5 列表控件_树形控件

    大家好,又见面了,我是你们的朋友全栈君。...A是发小,和我同岁,但是比我大一级,但现在已经是国科大直博生在读,B是北邮的研一在读。饭间在讨论专业技术的事,因为都是搞计算机的,虽然方向不一样,但也算同行。...其间也谈谈人生,聊聊感触,但是听他们说起来项目,实习,比赛,收入等等,感觉真的不是一个层次的人,哎,变强的路上自闭真的是难免的。 饭后也是九点多了吧,我就直接住在A家了。....setText(0, 'child2') child2.setText(1, '2') # 为child2添加一个子节点child3 child3 = QTreeWidgetItem(child2)...(0,'修改节点') item.setText(1,'值已经被修改') def deleteNode(self): print('删除节点') #防止item是root时,root无父结点报错,要使用下面的写法

    2K20

    App 组件化模块化之路——如何封装网络请求框架

    因此我们构建的网络请求框架要可以解决以下问题: 分离业务与网络请求代码 网络库可以很容易的被替换 网络库可以很方便的复用 所以在 App 组件化/模块化开发架构思路 一文中,我们把网络请求作为内核层的一个组件...封装第三方网络请求接口 一般来说,目前绝大部分 App 的数据请求都是使用 HTTP 协议,而数据交换的协议使用 json 格式。因此可以封装一个通用的请求接口。...为了减少代码的篇幅,省略一些对本文说明不重要的片段,本文代码可以在 //https://github.com/wecodexyz/Componentization 获取到 void...doRequest() 方法中,该方法实现了网络请求的代码,返回一个 Pair 对象,该对象的 first 属性是一个请求 code ,用于标识网络请求码(即是网络请求返回的...SimpleTextRequest 假设有一个请求业务数据接口,返回数据是一个字符串。那么我们使用我们的框架就是这样来使用。本文例子是请求我们项目中的 README.md 的内容。

    2K20

    【SWT】常用代码及接口(一)

    前言 我找了许多资料,发现SWT的很少,但是工作的时候在Eclipse开发窗口化的时候会用到,它相对于Swing来说,外观要更好看一些,性能也好一些,Swing是集成在IDEAJ上的,我通过看SWT face...此方法既可以起到帮助功能又可以起到容错功能。...clearSelection()清除所选文本 五:Combo类 下拉框(Combo)作用是用户从下拉项中 选择选项,用户也可以在下拉框(Combo)中键入选项值。...deselectAll()清除在下拉项中所选的选项(当前选项)getItem(int index)获取接收者(这里是 Combo)下拉项中相对于零给定的索引选项。...setItem(int index, String string)在下拉框的下拉项的指定位置设置选项。 setText(String string)设置当前选项。

    19110
    领券