tk 更新 某一字段为null_使用tk.mybatis快速开发curd

使用mybatis已经是可以快速开发程序了,对于单表的curd似乎是一种可抽象的结果,下面介绍tk.mybatis的使用方式。

maven引用

611e51bafe965bb102d0cdb8ff3e940a.png

我使用的是这个版本,所以相关功能介绍也是这个版本。

使用where条件

当使用查询条件的时候,我们可以使用mybatis的方式写sql来解决,很多情况下,写sql并不是一个特别简单的情况,尤其是字段多的时候,需要针对每个字段进行判断是否为空等等,写起来是相当的多。

tk.mybatis提供了一套api,可以帮助我们省去很多操作。

add0a4cdd417ed373b9ba2f96db421c0.png

首先需要创建example和criteria。Example的参数是对应表的类。criteria才是我们关注的对象,他有丰富的条件。

例如且等于

7a9116f8eb1bc0fd8476303745a36029.png

例如且等于

d5e604baa80f75ab1c5333020910c9bb.png

还有一些我们常见的操作

in操作和between操作

f5889e33ef736efbe9b5506858a64af0.png

通过以上的方法,我们基本已经可以满足对单表的条件比对操作了。

排序操作

排序操作设计的比较奇特,并不在criteria里,而是在example里。

c3c359ac125febcccc56b1d4424653e3.png

排序的sql语句就写在setOrderByClause中就可以了。

无论是增删改查,调用的都是ByExample的方法。

坑点

我们在插入和查询的时候都会使用对象来作为条件,但是如果对象里有null值,那么其实他不是我们想插入的字段,我们只想插入非null的。tk.mybatis默认没有对insert等方法做处理,而是单独开辟了一个insertSelective的方法。这个刚开始使用特别不舒服,一般都是insert包含了过滤,但是没有需要专门使用insertSelective。其他的方法也类型。

使用查询条件的时候,使用的是对象的字段名,而不是表的列名。这个刚开始很容易抓混,不知道应该使用哪个。

0f23ed7797e431f88c525dad4598b899.png

当查询条件特别多的时候,请写sql。条件特别多的时候写代码特别容易抓混,而且由于条件特别多,不需要的部分太多了,例如criteria.andGreaterThan。这些最后都会成为干扰项,这种情况写sql是清晰的方式。

23b480ef342454218a39a61b5c9a7dfb.png

没有连表操作,这算是他的一个功能不足的情况,我们可以使用mybatis的连表操作,但是他确实不是一个好的写法。这里也建议直接写sql。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值