mybatis的使用

网友投稿 251 2023-02-17

mybatis的使用

一、查询

mybatis自定义查询条件,queryString、queryMap、limit,Mapper文件写法如下:

SELECT

*

FROM

user

WHERE 1 = 1

and ${paramString}

and ${k} = #{paramMap.${k}}

limit #{paramInt1,jdbcType=INTEGER}, #{paramInt2,jdbcType=INTEGER}

以及传入参入的bean类:

package com.systom.base;

import java.io.Serializable;

import java.util.HashMap;

import java.util.Map;

public class BaseDaoQueryParam implements Serializable {

private static final long serialVersionUID = -8917191044499296040L;

private String paramString;

private Map paramMap = new HashMap();

private int paramInt1;

private int paramInt2;

private String orderBy;

private String orderType;

public BaseDaoQueryParam(String paramString, Map paramMap, int paramInt1,

int paramInt2) {

super();

this.paramString = paramString;

if(paramMap != null) this.paramMap = paramMap;

this.paramInt1 = paramInt1;

this.paramInt2 = paramInt2;

}

public BaseDaoQueryParam(String paramString, Map paramMap, int paramInt1,

int paramInt2, String orderBy, String orderType) {

super();

this.paramString = paramString;

if(paramMap != null) this.paramMap = paramMap;

this.paramInt1 = paramInt1;

this.paramInt2 = paramInt2;

this.orderBy = orderBy;

this.orderType = orderType;

}

public String getParamString() {

return paramString;

}

public void setParamString(String paramString) {

this.paramString = paramString;

}

public Map getParamMap() {

return paramMap;

}

public void setParamMap(Map paramMap) {

this.paramMap = paramMap;wWEUP

}

public int getParamInt1() {

return paramInt1;

}

public void setParamInt1(int paramInt1) {

this.paramInt1 = paramInt1;

}

public int getParamInt2() {

return paramInt2;

}

public void setParamInt2(int paramInt2) {

this.paramInt2 = paramInt2;

}

public String getOrderBy() {

return orderBy;

}

public void setOrderBy(String orderBy) {

this.orderBy = orderBy;

}

public String getOrderType() {

return orderType;

}

public void setOrderType(String orderType) {

this.orderType = orderType;

}

}

补充 知识:mybatis的mapper文件的大于号特殊符号使用

第一种方法:

用了转义字符把>和<替换掉,然后就没有问题了。

SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DATE AND end_date >= CURRENT_DATE

附:XML转义字符

<

<

小于号

>

>

大于号

&

&

'

'

单引号

"

"

双引号

第二种方法:

因为这个是xml格式的,所以不允许出现类似“>”这样的字符,但是都可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析

你的可以写成这个:

mapper文件示例代码

<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]>

在mybatis 的mapper配置文件sql语句中, 有时用到 大于, 小于等等的比较, 直接写在里面就被当做标签的开头来处理了, 所以不可.现在又2种解决方法:

一, 用<![CDATA[ ]]>标识,例如:

<![CDATA[ and authority < #{menu.authority}]]>

其中不但能用大于'>', 小于'<', 小于等于'<=', 大于等于'>=' 也是可以的.

二, 转义, 例如:

and authority < #{menu.authority}

如此这般......

同样可以可以和等号'='一起来使用, 来表示大于等于, 小于等于等.如

and authority >= #{menu.authority}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:广告流量api接口平台(对接各大平台广告流量)
下一篇:Java中四种9*9乘法表的实现方式(附代码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~