- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章mybatis createcriteria和or的区别说明由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
mybatis generator插件生成的example中,有createcriteria和or方法,他们有什么区别呢?
createcriteria,当没有规则时,则加入到现有规则,但有规则时,不再加入到现有规则,只是返回创建的规则 。
1
2
3
4
5
6
7
|
public
Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if
(oredCriteria.size() ==
0
) {
oredCriteria.add(criteria);
}
return
criteria;
}
|
1
2
3
4
5
|
public
Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return
criteria;
}
|
能用Example代码解决的,我都不会去写个SQL放在项目里。我希望让代码尽量优雅、易读,所以这里记录一下关于MyBatis中Example的and和or的使用,主要是如下两种场景:
1
2
3
4
5
6
7
8
|
//条件1 and 条件2
example.createCriteria()
.andEqualTo(
"isDeleted"
,IsDeleted.NOT_DELETED)
.andEqualTo(
"name"
, projectCatalogEntity.getName());
//or (条件3 and 条件4)
example.or(example.createCriteria()
.andEqualTo(
"isDeleted"
,IsDeleted.NOT_DELETED)
.andEqualTo(
"code"
, projectCatalogEntity.getCode()));
|
WHERE ( is_deleted = ? and name = ? ) or ( is_deleted = ? and code = ? ) 。
1
2
3
4
5
6
7
8
|
//条件1 and 条件2
example.createCriteria()
.andEqualTo(
"isDeleted"
,IsDeleted.NOT_DELETED))
.andEqualTo(
"parentId"
, projectCatalogEntity.getParentId());
//and (条件3 or 条件4)
example.and(example.createCriteria()
.andEqualTo(
"name"
, projectCatalogEntity.getName())
.orEqualTo(
"code"
, projectCatalogEntity.getCode()));
|
WHERE ( is_deleted = ? and parent_id = ? ) and ( name = ? or code = ? ) 。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.
原文链接:https://blog.csdn.net/wangjun5159/article/details/53325540 。
最后此篇关于mybatis createcriteria和or的区别说明的文章就讲到这里了,如果你想了解更多关于mybatis createcriteria和or的区别说明的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在不同的示例、教程、博客等中看到过这两种格式,但就我的生活而言,我找不到对差异的解释。有什么区别 ICriteria crit = session.CreateCriteria(typeof(Cat
我在不同的示例、教程、博客等中看到过这两种格式,但就我的生活而言,我找不到对差异的解释。有什么区别 ICriteria crit = session.CreateCriteria(typeof(Cat
我正在尝试创建一个REST服务,该服务以JSON格式返回结果。 我创建了一个将返回搜索结果的方法。它接受一个EnumMap搜索参数,并检查这些参数以建立createCriteria。 我遇到的问题是,
我怎样才能在 grails 中使用 createCriteria 获得类似这个 MYSQL 查询的内容? SELECT * FROM engine4_user_fields_val
刚刚了解createCriteria()方法的功能。只是想知道,除了将其应用于Controller之外,还有没有一种方法可以应用于域类?可能是自己映射到类似这样的属性: static mapping
我想获取在其列表(firstsList或SecondsList)中包含特定用户的实例。 在我的解决方案中,创建条件仅考虑第一批用户。 逻辑OR的用法似乎不正确 域 class ClassA {
我正在尝试使用 criteria 从数据库中获取数据 Domain class发票 - class Invoice{ Date invoiceNo Date invoiceDate
几个小时以来,我试图弄清楚如何使用一种必须在列表中的条件来创建条件。 如果减少代码,则有以下两个域类: 酒店-我要检索的基本域类: class Hotel { static hasMany =
能够使用分页是目标,但是我不确定如何使用它。该关系是单向的hasMany(如下所示)。目前,它可以在没有分页的情况下正常工作(请参阅Screenshot),但是要使用分页,我必须更改 Controll
我很好奇如何使用条件构建器访问继承的类的字段。 假设我们有以下类(class): class A { String fieldOne String fieldTwo static hasM
我是Grails条件构建器的新手,有人可以解释以下含义吗? def c = Account.createCriteria() def results = c {
我可以做到这一点: def criteria = Category.createCriteria(); def results = criteria.list{
def employee = Person.createCriteria().listDistinct { eq "personType" UserType.EMPLOYEE or {
我想写一个单元测试(通过 JUnit)来测试这个函数在 Groovy 中的值: String getPeopleNamesById(int[] peopleIds) { Lis
在 SQL 中我可以写 SELECT blah FROM Clients Where @p1 Like '%'+lastname+'%' 如何在 Nhibernate 中使用 CreateCriter
我在createCriteria中的查询中有一堆行,但是必须进行一些更改,我需要在一行中隐藏带有0的行,在另一列中隐藏带有字母A的行,但是如果它们有,我就不会隐藏它们0和另一个字母,如何在create
通过使用CreateCriteria,我想比较两个列表,并检查groups中users中是否存在至少一个元素。 有像eq这样的东西吗? 域 class User { String login
我有一个域类反馈 class Feedback{ String name String email Date createdOn Boolean isMailSent
场景是这样的: 每个Process具有多个ProcessingSteps 我编写的代码能够获取所有进程,而无需与ProcessingSteps对应。 我知道我缺少where子句,我想问一下我们如何在G
我在grails中有一个域类,该类具有一列字符串类型。下面是域类结构。 class TravelRequestUpdates{ updatedAt sqlType:'varchar(4
我是一名优秀的程序员,十分优秀!