mybatis的使用-Mapper文件各种语法介绍
一、查询
mybatis自定义查询条件,queryString、queryMap、limit,Mapper文件写法如下:
SELECT * FROM user WHERE1=1 and${paramString} and${k}=#{paramMap.${k}} 0andparamInt2!=nullandparamInt2>0"> limit#{paramInt1,jdbcType=INTEGER},#{paramInt2,jdbcType=INTEGER}
以及传入参入的bean类:
packagecom.systom.base;
importjava.io.Serializable;
importjava.util.HashMap;
importjava.util.Map;
publicclassBaseDaoQueryParamimplementsSerializable{
privatestaticfinallongserialVersionUID=-8917191044499296040L;
privateStringparamString;
privateMapparamMap=newHashMap();
privateintparamInt1;
privateintparamInt2;
privateStringorderBy;
privateStringorderType;
publicBaseDaoQueryParam(StringparamString,MapparamMap,intparamInt1,
intparamInt2){
super();
this.paramString=paramString;
if(paramMap!=null)this.paramMap=paramMap;
this.paramInt1=paramInt1;
this.paramInt2=paramInt2;
}
publicBaseDaoQueryParam(StringparamString,MapparamMap,intparamInt1,
intparamInt2,StringorderBy,StringorderType){
super();
this.paramString=paramString;
if(paramMap!=null)this.paramMap=paramMap;
this.paramInt1=paramInt1;
this.paramInt2=paramInt2;
this.orderBy=orderBy;
this.orderType=orderType;
}
publicStringgetParamString(){
returnparamString;
}
publicvoidsetParamString(StringparamString){
this.paramString=paramString;
}
publicMapgetParamMap(){
returnparamMap;
}
publicvoidsetParamMap(MapparamMap){
this.paramMap=paramMap;
}
publicintgetParamInt1(){
returnparamInt1;
}
publicvoidsetParamInt1(intparamInt1){
this.paramInt1=paramInt1;
}
publicintgetParamInt2(){
returnparamInt2;
}
publicvoidsetParamInt2(intparamInt2){
this.paramInt2=paramInt2;
}
publicStringgetOrderBy(){
returnorderBy;
}
publicvoidsetOrderBy(StringorderBy){
this.orderBy=orderBy;
}
publicStringgetOrderType(){
returnorderType;
}
publicvoidsetOrderType(StringorderType){
this.orderType=orderType;
}
}
补充知识:mybatis的mapper文件的大于号特殊符号使用
第一种方法:
用了转义字符把>和<替换掉,然后就没有问题了。
SELECT*FROMtestWHERE1=1ANDstart_date<=CURRENT_DATEANDend_date>=CURRENT_DATE
附:XML转义字符
<
<
小于号
>
>
大于号
&
&
和
'
'
单引号
"
"
双引号
第二种方法:
因为这个是xml格式的,所以不允许出现类似“>”这样的字符,但是都可以使用符号进行说明,将此类符号不进行解析
你的可以写成这个:
mapper文件示例代码
在mybatis的mapper配置文件sql语句中,有时用到大于,小于等等的比较,直接写在里面就被当做标签的开头来处理了,所以不可.现在又2种解决方法:
一,用标识,例如:
其中不但能用大于'>',小于'<',小于等于'<=',大于等于'>='也是可以的.
二,转义,例如:
andauthority<#{menu.authority}
如此这般......
同样可以可以和等号'='一起来使用,来表示大于等于,小于等于等.如
andauthority>=#{menu.authority}
以上这篇mybatis的使用-Mapper文件各种语法介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。