在我的Mapping XML中,我有:
<select id="getPatientsByBirthday" parameterType="date" resultType="com.axiohelix.nozoki.entity.Patient">
SELECT id AS id,
pharumo_id AS pharumoId,
code AS code,
family_name AS familyName,
first_name AS firstName,
family_name_kana AS familyNameKana,
first_name_kana AS firstNameKana,
gender AS gender,
address AS address,
tel AS tel
FROM tbl_patient
WHERE birthday = #{id}
</select>
其中,生日是MYSQL数据库中的 DATE 类型。
我的Mapper界面是这样的:
public interface PatientMapper {
void insertPatient(Patient patient);
Patient getPatientById(Integer id);
Integer getPatientCount();
List<Patient> getPatientsByBirthday(Date bday);
}
我试着用特定的生日来询问患者:
Calendar cal1 = new GregorianCalendar(1980, 8, 15);
Date bday=cal1.getTime();
List<Patient> plist=mapper.getPatientsByBirthday(bday);
即使有给定日期的记录,也会返回空列表。
Anytips?
答案 0 :(得分:1)
更改映射xml喜欢这个;
<select id="getPatientsByBirthday" parameterType="java.util.Date" resultType="com.axiohelix.nozoki.entity.Patient">
SELECT id AS id,
pharumo_id AS pharumoId,
code AS code,
family_name AS familyName,
first_name AS firstName,
family_name_kana AS familyNameKana,
first_name_kana AS firstNameKana,
gender AS gender,
address AS address,
tel AS tel
FROM tbl_patient
WHERE birthday = #{date}
</select>