mybatis example使用 and和or联合查询(转)

这两天项目用到ibatis,碰到and or的联合查询,语句像这样的

select * from table where xxx = "xxx" and (xx1="xx1" or xx2="xx2")

baidu跟google半天只找到一个手动写xml语句的,内容地址如下:

http://lyfei022.blog.163.com/blog/static/82558312009313104138320/

个人还是觉得不方便,于是去查mybatis3的文档,发现mybatis映射中有or()方法,实践可用,方法如下

复制代码
 1 ViewPsmsgconsultExample example=new ViewPsmsgconsultExample();  
 2 ViewPsmsgconsultExample.Criteria criteria=example.createCriteria();  
 3 criteria.andToidEqualTo(mctid);  
 4 criteria.andStatusEqualTo("0");  
 5           
 6 ViewPsmsgconsultExample.Criteria criteria2=example.createCriteria();  
 7 criteria2.andToidEqualTo(mctid);  
 8 criteria2.andLaststatusEqualTo("0");  
 9 example.or(criteria2);  
10 psmsgconsultDao.countByExample(example);  
复制代码

生成的sql语句如下:

1 select count(*) from VIEW_PSMSGCONSULT WHERE ( TOID = ? and STATUS = ? ) or( TOID = ? and LASTSTATUS = ? )   

 

posted @   林加欣  阅读(36109)  评论(4编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示