mybatis的使用-Mapper文件各种语法

一、查询

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

	<select id="getByQueryParam" parameterType="com.systom.base.BaseDaoQueryParam" resultMap="BaseResultMap">
        SELECT
            *
        FROM
            user
        WHERE  1 = 1
			<if test="paramString != null">
				and ${paramString}
			</if>
			<foreach collection="paramMap.keys" item="k" separator="">   
			    <if test="null != paramMap[k]">    
			        and ${k} = #{paramMap.${k}}  
			    </if>  
			</foreach>
            <if test="paramInt1 != null and paramInt1 > 0 and paramInt2 != null and paramInt2 > 0">
				limit #{paramInt1,jdbcType=INTEGER}, #{paramInt2,jdbcType=INTEGER}
			</if>
    </select>

以及传入参入的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<String, Object> paramMap = new HashMap<String, Object>();
	private int paramInt1;
	private int paramInt2;
	private String orderBy;
	private String orderType;

	public BaseDaoQueryParam(String paramString, Map<String, Object> 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<String, Object> 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<String, Object> getParamMap() {
		return paramMap;
	}

	public void setParamMap(Map<String, Object> paramMap) {
		this.paramMap = paramMap;
	}

	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进行开发时,有时候会遇到"java mybatis-3-mapper.dtd找不到文件"的报错。这个错误的原因是MyBatis在解析mapper.xml文件时,会通过DTD(Document Type Definition)来验证XML的结构和语法是否正确。而这个DTD文件通常会从MyBatis的jar包中载。 出现找不到文件的情况可能是由以下几个原因导致的: 1. 项目配置问题:检查项目的配置文件,例如mybatis-config.xml是否正确配置了DTD路径。通常在mybatis-config.xml文件中会有类似以下的配置: <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 确保该配置正确并指向了DTD文件的正确位置。 2. Maven依赖问题:如果你是通过Maven来管理依赖的话,检查是否正确引入了MyBatis的相关依赖。通常需要引入以下两个依赖: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.x.x</version> </dependency> 请确保版本号正确,并且Maven能够正确下载这些依赖。 3. 服务端网络问题:如果你的项目是部署在远程服务器上的,有可能是服务器无法访问MyBatis的DTD文件所在的URL导致的。可以尝试在本地手动访问DTD文件的URL,看是否能够正常下载。 以上是解决"java mybatis-3-mapper.dtd找不到文件"报错的一些常见方法,希望能够帮助到你。如果以上方法不能解决问题,可能需要进一步检查你的项目配置和环境设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值