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 = ? )   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM