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();
}
}
爲什麼我得到錯誤??????? 在此先感謝!
您是否試過將SQL查詢直接運行到數據庫? –
是的,它的工作原理 – linker85