java - 为什么mybatis marking 错误可能涉及到defaultParameterMap?

标签 java mybatis

你好,我有一个方法应该返回一个列表,但我却得到了 查询数据库时出错。原因:com.microsoft.sqlserver.jdbc.SQLServerException:对象名称“CATSTATUSPRINT”无效。 ,错误可能存在于com/mapper/CatStatusPrintMapper.xml ,错误可能涉及defaultParameterMap , 设置参数时出错

这是我的映射器 CatStatusPrintMapper.xml:

<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="statusMapper">

     <select id="consultCatStatus" resultMap="catStatusMap">
        SELECT 
            C.ID_STATUS,
            C.NAME_STATUS, 
            C.DESC_STATUS,
            C.ACTIVE
        FROM CATSTATUSPRINT C
         WHERE C.ACTIVE = 1
        ORDER BY C.NAME_STATUS ASC
    </select>

     <select id="consultCatStatus2" resultMap="catStatusMap">
        SELECT 
            C.ID_STATUS,
            C.NAME_STATUS, 
            C.DESC_STATUS,
            C.ACTIVE
        FROM CATSTATUSPRINT C
         WHERE C.ACTIVE = 2
        ORDER BY C.NAME_STATUS ASC
    </select>    

    <resultMap id="catStatusMap" type="catStatus">
        <result column="ID_STATUS" property="idStatus"></result>
        <result column="NAME_STATUS" property="nameStatus"></result>
        <result column="DESC_STATUS" property="descStatus"></result>
        <result column="ACTIVE" property="active"></result>
    </resultMap>

</mapper>

这是我的实体 bean:

@Entity
@Table(name = "CatStatusPrint")
public class CatStatusPrintBean implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID_STATUS")
    private Integer idStatus;
    @Basic(optional = false)
    @Column(name = "NAME_STATUS")
    private String nameStatus;
    @Column(name = "DESC_STATUS")
    private String descStatus;
    @Basic(optional = false)
    @Column(name = "ACTIVE")
    private Integer active;

    public CatStatusPrintBean() {
    }

    public CatStatusPrintBean(Integer idStatus) {
        this.idStatus = idStatus;
    }

    public CatStatusPrintBean(Integer idStatus, String nameStatus, Integer active) {
        this.idStatus = idStatus;
        this.nameStatus = nameStatus;
        this.active = active;
    }

    public Integer getIdStatus() {
        return idStatus;
    }

    public void setIdStatus(Integer idStatus) {
        this.idStatus = idStatus;
    }

    public String getNameStatus() {
        return nameStatus;
    }

    public void setNameStatus(String nameStatus) {
        this.nameStatus = nameStatus;
    }

    public String getDescStatus() {
        return descStatus;
    }

    public void setDescStatus(String descStatus) {
        this.descStatus = descStatus;
    }

    public Integer getActive() {
        return active;
    }

    public void setActive(Integer active) {
        this.active = active;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idStatus != null ? idStatus.hashCode() : 0);
        return hash;
    }
}

这是我在 dao 中的方法:

public List<CatStatusPrintBean> getCatStatusPrint2(){
    session2 = sqlSessionFactory2.openSession();
    try {
        List<CatStatusPrintBean> lstStatus = session2.selectList(TagsPrintConstants.MAPPER_CONSULT_STATUS);            
         return lstStatus;
    } catch (Exception e) {
        LOG.error(TagsPrintConstants.ERROR_OBTENER_CAT_IMPRESION + e.getMessage());
        return null;
    } finally {
        session2.close();
    }
}  

为什么我会收到错误消息?????? 提前致谢!!

最佳答案

看来我的配置指向不同的数据库。 一旦我将它指向正确的数据库,它就会工作。

关于java - 为什么mybatis marking 错误可能涉及到defaultParameterMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19140577/

相关文章:

java - 如何在 MyBatis 中使用 TypeHandler 进行 INSERT 语句

oracle - 使用 HSQL 而不是 Oracle 对 MyBatis 进行单元测试

java - 从对象类继承的好处

JavaFX FXML API 版本警告

java - 在Thread算法工作期间重绘JPanel

java - 如何使用泛型类型(BaseMapper<T>)的mybatis映射器接口(interface)?

java - 使用 Properties 读取 .properties 文件

java - Java 8 中的 Monadic 函数组合与链接

java - Mybatis 枚举通过 id 选择

jboss - MyBatis 与 JBoss 7.1 Web 应用程序集成