mybatis——逆向工程中 where (条件1)and (条件2 or 条件3 or 条件4)

where (条件1)and (条件2 or 条件3 or 条件4)

= where (条件1 and 条件2)or (条件1 and 条件3) or (条件1 and 条件4)

结果 是这样的

WHERE ( birthdate between ? and ? and username like ? ) or( birthdate between ? and ? and email like ? ) or( birthdate between ? and ? and phone like ? )

1. 在Example中每一个criteria相当于一个括号,把里面的内容当作一个整体。

Where(userid=’1’ and name=’2’)



1

2

3

4

UserExample example = new UserExample();

UserExample.Criteria c1 = example.createCriteria();

C1.andUseridEqualTo(“1”);

C2.andNameEqualTo(“2”);

C1.andUseridEqualTo(“1”).andNameEqualTo(“2”);也可

2. 在criteria中没有直接的or。

(1) where(A and B) or (C and D)


1

2

3

4

5

6

7

8

BasePointsExample.Criteria criteria1 = example.createCriteria();

           criteria1.andUseridEqualTo(‘11‘);

           criteria1.andPointnameLike(StringUtil.concatlike(‘22‘));

  

 BasePointsExample.Criteria criteria2 = example.createCriteria();

           criteria2.andUsernameEqualTo(‘33‘);

           criteria2.andPointcontentLike(StringUtil.concatlike(‘44‘));

 example.or(criteria2);

(2)where A and (B or C)

==>(A and B) or (A and C)


1

2

3

4

5

6

7

8

BasePointsExample.Criteria criteria1 = example.createCriteria();

      criteria1.andUseridEqualTo(‘11‘);

      criteria1.andPointnameLike(StringUtil.concatlike(‘22‘));

  

      BasePointsExample.Criteria criteria2 = example.createCriteria();

      criteria2.andUseridEqualTo(‘11‘);

      criteria2.andPointcontentLike(StringUtil.concatlike(‘33‘));

      example.or(criteria2);

 

原文地址:https://www.cnblogs.com/caoxinfang/p/12663196.html

时间: 2024-10-16 22:04:23

mybatis——逆向工程中 where (条件1)and (条件2 or 条件3 or 条件4)的相关文章

C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素

转自原文 C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素 有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性过滤显示: 1.当图层已经加载时 private void ShowByFilter(AxMapControl sMapCtr, IFeatureLayer sFlyr, string sFilter) { ESRI.ArcGIS.Carto.IFeatureLayerDefinition pDef

回顾一下MyBatis逆向工程——自动生成代码

前言 最近做的项目(SSM+Shiro)的数据库表已经创建完成,一共有15张表,如果我们一个个去写pojo/bean的代码以及各种sql语句的话未免太过麻烦而且很容易出错,这个时候我们就需要MyBatis逆向工程去为我们生成这些基本的东西.先来简单的了解一下什么是逆向工程 一 什么是逆向工程 官网解释浓缩版:MyBatis逆向工程需要用到的就是MyBatis官方提供的MyBatis Generator(MBG).MBG是MyBatis和iBATIS的代码生成器,它将为所有版本的MyBatis以及

mybatis逆向工程之生成文件解释

一.mapper接口中的方法解析 mapper接口中的函数及方法 方法 功能说明 int countByExample(UserExample example) thorws SQLException 按条件计数 int deleteByPrimaryKey(Integer id) thorws SQLException 按主键删除 int deleteByExample(UserExample example) thorws SQLException 按条件查询 String/Integer

基于maven+ssm的增删改查之使用mybatis逆向工程生成相关文件

接上一节. 1.mybatis逆向工程相关文件配置 generatorConfig.xml(8条) (1)使用classPathEntry指定Mysql驱动的位置. (2)去掉生成文件中的注释 (3)数据库连接配置 (4)类型解析 (5)javabean生成的位置.mapper接口的位置.mapper.xml文件的位置 (6)指定数据库中的表以及映射成的javabean的名称 <?xml version="1.0" encoding="UTF-8"?>

详解Java的MyBatis框架中SQL语句映射部分的编写

这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi

Mybatis逆向工程

Mybatis逆向工程可以针对数据库中的单表自动生成Mybatis执行时所需要的代码.包括实体类PO.mapper.java接口.mapper.xml映射文件. 步骤: 在src下添加GeneratorSqlmap.java类 import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.confi

Mybatis 逆向工程

Mybatis逆向工程: 推荐用Java和XML Configuration的方式生成逆向文件 Java类: package generation; import java.io.File; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; i

mybatis逆向工程出现的问题

在IDEA中,进行mybatis逆向工程生成代码时,出现了一些令人苦恼的问题,老是连接出现问题,然而Navicat却是可以正常连接MySql8.0.11的,经过不断的尝试,终于解决了问题. 0.其实一开始安装好Navicat创建数据库连接,点击连接测试测试时,就出现了问题:1251- Client does not support authentication protocol. 网上百度了下: 原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql

generator mybatis逆向工程

mybatis逆向工程:根据数据库中的表在项目中生成对应的 实体类,dao接口与mapper.xml映射文件 在eclipse中,以插件的形式的存在,把设置好的配置文件,直接通过eclipse中的插件运行即可(如何下载使用百度)在idea中,maven以<plugin>的形式集成.在<build>子节点下添加pom.xml中的 plugin 代码.并编写好用于生成的配置代码(后面作解释). <?xml version="1.0" encoding=&quo