MyBatis Interface Defniition
The ElderlyMapper interface defines all database operations for the assessment system:
package com.elderly.mapper;
import org.apache.ibatis.annotations.Param;
import com.elderly.entity.*;
import java.util.List;
public interface ElderlyMapper {
int createAccount(@Param("accountId") String accountId, @Param("pwd") String pwd);
Account authenticateUser(@Param("accountId") String accountId, @Param("pwd") String pwd);
int registerBasicInfo(
@Param("residentId") String residentId,
@Param("assessmentDate") String assessmentDate,
@Param("assessmentReason") String assessmentReason,
@Param("fullName") String fullName,
@Param("sex") String sex,
@Param("dateOfBirth") String dateOfBirth,
@Param("accountId") String accountId,
@Param("idCard") String idCard,
@Param("ethnicity") String ethnicity,
@Param("educationLevel") String educationLevel,
@Param("religiousBelief") String religiousBelief,
@Param("maritalStatus") String maritalStatus,
@Param("livingArrangement") String livingArrangement,
@Param("medicalCoverage") String medicalCoverage,
@Param("incomeSource") String incomeSource,
@Param("history_1") String history_1,
@Param("history_2") String history_2,
@Param("history_3") String history_3,
@Param("incident_1") String incident_1,
@Param("incident_2") String incident_2,
@Param("incident_3") String incident_3,
@Param("incident_4") String incident_4,
@Param("incident_5") String incident_5,
@Param("emergencyContact") String emergencyContact,
@Param("relationToElderly") String relationToElderly,
@Param("contactPerson") String contactPerson,
@Param("contactPhone") String contactPhone
);
int saveDailyLivingScore(
@Param("accountId") String accountId,
@Param("feeding") int feeding,
@Param("grooming") int grooming,
@Param("dressing") int dressing,
@Param("toileting") int toileting,
@Param("bowelControl") int bowelControl,
@Param("bladderControl") int bladderControl,
@Param("bedTransfers") int bedTransfers,
@Param("chairTransfers") int chairTransfers,
@Param("walking") int walking,
@Param("stairs") int stairs
);
int saveCognitiveScore(
@Param("accountId") String accountId,
@Param("orientation") int orientation,
@Param("memory") int memory,
@Param("attention") int attention
);
int savePerceptionScore(
@Param("accountId") String accountId,
@Param("vision") int vision,
@Param("hearing") int hearing,
@Param("touch") int touch,
@Param("communication") int communication
);
int saveSocialScore(
@Param("accountId") String accountId,
@Param("socialActivities") int socialActivities,
@Param("workCapacity") int workCapacity,
@Param("timeOrientation") int timeOrientation,
@Param("taskCompletion") int taskCompletion,
@Param("interpersonalRelations") int interpersonalRelations
);
List<DailyLivingEntity> queryDailyLiving(@Param("accountId") String accountId);
List<CognitiveEntity> queryCognitive(@Param("accountId") String accountId);
List<PerceptionEntity> queryPerception(@Param("accountId") String accountId);
List<SocialEntity> querySocial(@Param("accountId") String accountId);
BasicInfo queryBasicInfoByAccount(@Param("accountId") String accountId);
BasicInfo queryBasicInfoByContact(@Param("contactPerson") String contactPerson, @Param("contactPhone") String contactPhone);
BasicInfo queryBasicInfoCombined(@Param("accountId") String accountId, @Param("contactPhone") String contactPhone);
int verifyUniqueRecord(
@Param("residentId") String residentId,
@Param("assessmentDate") String assessmentDate,
@Param("fullName") String fullName,
@Param("sex") String sex,
@Param("accountId") String accountId,
@Param("idCard") String idCard
);
int saveComprehensiveAbility(
@Param("accountId") String accountId,
@Param("dailyLivingScore") String dailyLivingScore,
@Param("cognitiveScore") String cognitiveScore,
@Param("perceptionScore") String perceptionScore,
@Param("socialScore") String socialScore,
@Param("levelOneResult") String levelOneResult,
@Param("movementScore") String movementScore,
@Param("levelTwoResult") String levelTwoResult,
@Param("firstReviewer") String firstReviewer,
@Param("secondReviewer") String secondReviewer,
@Param("institution") String institution,
@Param("assessmentDate") String assessmentDate
);
ComprehensiveAbility queryComprehensiveAbility(@Param("accountId") String accountId);
}
MyBatis XML Mapping Configuration
<?xml version="1.0" encoding="UTF-8" ?>
<mapper namespace="com.elderly.mapper.ElderlyMapper">
<insert id="createAccount">
INSERT INTO accounts(account_id, password) VALUES (#{accountId}, #{pwd});
</insert>
<insert id="registerBasicInfo">
INSERT INTO basic_info(
resident_id, assessment_date, assessment_reason, full_name, sex,
date_of_birth, account_id, id_card, ethnicity, education_level,
religious_belief, marital_status, living_arrangement, medical_coverage,
income_source, history_1, history_2, history_3, incident_1, incident_2,
incident_3, incident_4, incident_5, emergency_contact, relation_to_elderly,
contact_person, contact_phone
) VALUES (
#{residentId}, #{assessmentDate}, #{assessmentReason}, #{fullName}, #{sex},
#{dateOfBirth}, #{accountId}, #{idCard}, #{ethnicity}, #{educationLevel},
#{religiousBelief}, #{maritalStatus}, #{livingArrangement}, #{medicalCoverage},
#{incomeSource}, #{history_1}, #{history_2}, #{history_3}, #{incident_1}, #{incident_2},
#{incident_3}, #{incident_4}, #{incident_5}, #{emergencyContact}, #{relationToElderly},
#{contactPerson}, #{contactPhone}
);
</insert>
<insert id="saveDailyLivingScore">
INSERT INTO daily_living(
account_id, feeding, grooming, dressing, toileting,
bowel_control, bladder_control, bed_transfers, chair_transfers,
walking, stairs
) VALUES (
#{accountId}, #{feeding}, #{grooming}, #{dressing}, #{toileting},
#{bowelControl}, #{bladderControl}, #{bedTransfers}, #{chairTransfers},
#{walking}, #{stairs}
);
</insert>
<insert id="saveCognitiveScore">
INSERT INTO cognitive_assessment(account_id, orientation, memory, attention)
VALUES (#{accountId}, #{orientation}, #{memory}, #{attention});
</insert>
<insert id="savePerceptionScore">
INSERT INTO perception_assessment(account_id, vision, hearing, touch, communication)
VALUES (#{accountId}, #{vision}, #{hearing}, #{touch}, #{communication});
</insert>
<insert id="saveSocialScore">
INSERT INTO social_assessment(account_id, social_activities, work_capacity, time_orientation, task_completion, interpersonal_relations)
VALUES (#{accountId}, #{socialActivities}, #{workCapacity}, #{timeOrientation}, #{taskCompletion}, #{interpersonalRelations});
</insert>
<insert id="saveComprehensiveAbility">
INSERT INTO comprehensive_ability(
account_id, daily_living_score, cognitive_score, perception_score,
social_score, level_one_result, movement_score, level_two_result,
first_reviewer, second_reviewer, institution, assessment_date
) VALUES (
#{accountId}, #{dailyLivingScore}, #{cognitiveScore}, #{perceptionScore},
#{socialScore}, #{levelOneResult}, #{movementScore}, #{levelTwoResult},
#{firstReviewer}, #{secondReviewer}, #{institution}, #{assessmentDate}
);
</insert>
<select id="authenticateUser" resultType="com.elderly.entity.Account">
SELECT * FROM accounts WHERE account_id = #{accountId} AND password = #{pwd};
</select>
<select id="queryDailyLiving" resultType="com.elderly.entity.DailyLivingEntity">
SELECT * FROM daily_living WHERE account_id = #{accountId};
</select>
<select id="queryCognitive" resultType="com.elderly.entity.CognitiveEntity">
SELECT * FROM cognitive_assessment WHERE account_id = #{accountId};
</select>
<select id="queryPerception" resultType="com.elderly.entity.PerceptionEntity">
SELECT * FROM perception_assessment WHERE account_id = #{accountId};
</select>
<select id="querySocial" resultType="com.elderly.entity.SocialEntity">
SELECT * FROM social_assessment WHERE account_id = #{accountId};
</select>
<select id="queryBasicInfoByAccount" resultType="com.elderly.entity.BasicInfo">
SELECT * FROM basic_info WHERE account_id = #{accountId};
</select>
<select id="queryBasicInfoByContact" resultType="com.elderly.entity.BasicInfo">
SELECT * FROM basic_info WHERE contact_phone = #{contactPhone};
</select>
<select id="queryBasicInfoCombined" resultType="com.elderly.entity.BasicInfo">
SELECT * FROM basic_info WHERE account_id = #{accountId} AND contact_phone = #{contactPhone};
</select>
<select id="verifyUniqueRecord" resultType="int">
SELECT COUNT(*) FROM records_registry
WHERE resident_id = #{residentId}
OR assessment_date = #{assessmentDate}
OR full_name = #{fullName}
OR sex = #{sex}
OR account_id = #{accountId}
OR id_card = #{idCard}
</select>
<select id="queryComprehensiveAbility" resultType="com.elderly.entity.ComprehensiveAbility">
SELECT * FROM comprehensive_ability WHERE account_id = #{accountId};
</select>
</mapper>