2013-10-02 20 views
1

嗨我有一個方法,應該返回一個列表,但相反,我會得到 錯誤查詢數據庫。原因:com.microsoft.sqlserver.jdbc.SQLServerException:無效的對象名稱'CATSTATUSPRINT'。爲什麼mybatis標記錯誤可能涉及defaultParameterMap?

<!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> 

這裏是: ,該錯誤可能在COM /映射器存在/ CatStatusPrintMapper.xml ,該錯誤可能涉及defaultParameterMap ,同時設定參數

這是我的映射CatStatusPrintMapper.xml發生錯誤我的實體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; 
    } 
} 

這裏是我的吾道里面方法:

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(); 
    } 
} 

爲什麼我得到錯誤??????? 在此先感謝!

+0

您是否試過將SQL查詢直接運行到數據庫? –

+0

是的,它的工作原理 – linker85

回答

1

看來我的配置指向了不同的數據庫。 一旦我將它指向正確的數據庫,它就可以工作。